Skip to content

Commit 9d94fbf

Browse files
committed
Refactor bookmark methods
Replaced user-specific bookmark methods with client methods after MTG/freesound@7ab38a5
1 parent 5be99a3 commit 9d94fbf

File tree

3 files changed

+30
-52
lines changed

3 files changed

+30
-52
lines changed

download_bookmarks_example.py

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,29 +18,23 @@
1818
freesound_client.set_token(access_token, "oauth")
1919

2020
path_name = os.path.join(os.getcwd(), "tmp")
21-
try:
22-
os.mkdir(path_name)
23-
except:
24-
pass
21+
os.makedirs(path_name, exist_ok=True)
2522

26-
user = freesound_client.get_user("apitest")
27-
print("Username:", user.username)
28-
29-
bookmarks_results_pager = user.get_bookmark_categories(page_size=100)
23+
bookmarks_results_pager = freesound_client.get_my_bookmark_categories(page_size=100)
3024
print("Num categories:", bookmarks_results_pager.count)
3125

3226
for bookmark in bookmarks_results_pager:
3327
print("\tCategory:", bookmark.name)
3428
print("\tNum sounds:", bookmark.num_sounds)
3529

36-
sounds_results_pager = user.get_bookmark_category_sounds(bookmark.id, fields="id,name,type", page_size=1)
30+
sounds_results_pager = freesound_client.get_my_bookmark_category_sounds(bookmark.id, fields="id,name,type", page_size=1)
3731

3832
while True:
3933
for sound in sounds_results_pager:
4034
print("\t\tDownloading:", sound.name)
4135

4236
# Some sound filenames already end with the type...
43-
if sound.name.endswith(sound.type):
37+
if sound.name.lower().endswith(sound.type.lower()):
4438
filename = sound.name
4539
else:
4640
filename = f"{sound.name}.{sound.type}"

examples.py

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -200,21 +200,3 @@
200200
)
201201
print(sound.analysis.lowlevel.spectral_flatness_db.mean)
202202
print()
203-
204-
# Getting bookmark categories from a user example
205-
print("User bookmark categories:")
206-
print("-----------")
207-
user = freesound_client.get_user("frederic.font")
208-
print("User name:", user.username)
209-
results_pager = user.get_bookmark_categories(page_size=10)
210-
print("Num results:", results_pager.count)
211-
print("\t----- PAGE 1 -----")
212-
for bookmark_category in results_pager:
213-
print(
214-
"\t-",
215-
bookmark_category.name,
216-
"with",
217-
bookmark_category.num_sounds,
218-
)
219-
print("sounds at", bookmark_category.url)
220-
print()

freesound.py

Lines changed: 26 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,11 @@ class URIS:
4444
LOGOUT = '/api-auth/logout/'
4545
LOGOUT_AUTHORIZE = '/oauth2/logout_and_authorize/'
4646
ME = '/me/'
47+
ME_BOOKMARK_CATEGORIES = '/me/bookmark_categories/'
48+
ME_BOOKMARK_CATEGORY_SOUNDS = '/me/bookmark_categories/<category_id>/sounds/'
4749
USER = '/users/<username>/'
4850
USER_SOUNDS = '/users/<username>/sounds/'
4951
USER_PACKS = '/users/<username>/packs/'
50-
USER_BOOKMARK_CATEGORIES = '/users/<username>/bookmark_categories/'
51-
USER_BOOKMARK_CATEGORY_SOUNDS = '/users/<username>/bookmark_categories/<category_id>/sounds/' # noqa
5252
PACK = '/packs/<pack_id>/'
5353
PACK_SOUNDS = '/packs/<pack_id>/sounds/'
5454
PACK_DOWNLOAD = '/packs/<pack_id>/download/'
@@ -176,6 +176,30 @@ def get_pack(self, pack_id):
176176
uri = URIS.uri(URIS.PACK, pack_id)
177177
return FSRequest.request(uri, {}, self, Pack)
178178

179+
def get_my_bookmark_categories(self, **params):
180+
"""
181+
Get bookmark categories for the authenticated user.
182+
Relevant params: page, page_size
183+
https://freesound.org/docs/api/resources_apiv2.html#my-bookmark-categories
184+
Requires OAuth2 authentication.
185+
186+
>>> c.get_my_bookmark_categories()
187+
"""
188+
uri = URIS.uri(URIS.ME_BOOKMARK_CATEGORIES)
189+
return FSRequest.request(uri, params, self, GenericPager)
190+
191+
def get_my_bookmark_category_sounds(self, category_id, **params):
192+
"""
193+
Get sounds in a bookmark category for the authenticated user.
194+
Relevant params: page, page_size, fields, descriptors, normalized
195+
https://freesound.org/docs/api/resources_apiv2.html#my-bookmark-category-sounds
196+
Requires OAuth2 authentication.
197+
198+
>>> c.get_my_bookmark_category_sounds(0)
199+
"""
200+
uri = URIS.uri(URIS.ME_BOOKMARK_CATEGORY_SOUNDS, category_id)
201+
return FSRequest.request(uri, params, self, Pager)
202+
179203
def set_token(self, token, auth_type="token"):
180204
"""
181205
Set your API key or Oauth2 token
@@ -479,28 +503,6 @@ def get_packs(self, **params):
479503
uri = URIS.uri(URIS.USER_PACKS, self.username)
480504
return FSRequest.request(uri, params, self.client, GenericPager)
481505

482-
def get_bookmark_categories(self, **params):
483-
"""
484-
Get user bookmark categories.
485-
Relevant params: page, page_size
486-
https://freesound.org/docs/api/resources_apiv2.html#user-bookmark-categories
487-
488-
>>> u.get_bookmark_categories()
489-
"""
490-
uri = URIS.uri(URIS.USER_BOOKMARK_CATEGORIES, self.username)
491-
return FSRequest.request(uri, params, self.client, GenericPager)
492-
493-
def get_bookmark_category_sounds(self, category_id, **params):
494-
"""
495-
Get user bookmarks.
496-
Relevant params: page, page_size, fields, descriptors, normalized
497-
https://freesound.org/docs/api/resources_apiv2.html#user-bookmark-category-sounds
498-
499-
>>> p = u.get_bookmark_category_sounds(0)
500-
"""
501-
uri = URIS.uri(URIS.USER_BOOKMARK_CATEGORY_SOUNDS, self.username, category_id)
502-
return FSRequest.request(uri, params, self.client, Pager)
503-
504506
def __repr__(self):
505507
return '<User: "%s">' % self.username
506508

0 commit comments

Comments
 (0)