Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 6 additions & 10 deletions download_bookmarks_example.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,29 +18,25 @@
freesound_client.set_token(access_token, "oauth")

path_name = os.path.join(os.getcwd(), "tmp")
try:
os.mkdir(path_name)
except:
pass
os.makedirs(path_name, exist_ok=True)

user = freesound_client.get_user("apitest")
print("Username:", user.username)

bookmarks_results_pager = user.get_bookmark_categories(page_size=100)
bookmarks_results_pager = freesound_client.get_my_bookmark_categories(page_size=100)
print("Num categories:", bookmarks_results_pager.count)

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

sounds_results_pager = user.get_bookmark_category_sounds(bookmark.id, fields="id,name,type", page_size=1)
sounds_results_pager = freesound_client.get_my_bookmark_category_sounds(
bookmark.id, fields="id,name,type", page_size=1
)

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

# Some sound filenames already end with the type...
if sound.name.endswith(sound.type):
if sound.name.lower().endswith(sound.type.lower()):
filename = sound.name
else:
filename = f"{sound.name}.{sound.type}"
Expand Down
18 changes: 0 additions & 18 deletions examples.py
Original file line number Diff line number Diff line change
Expand Up @@ -200,21 +200,3 @@
)
print(sound.analysis.lowlevel.spectral_flatness_db.mean)
print()

# Getting bookmark categories from a user example
print("User bookmark categories:")
print("-----------")
user = freesound_client.get_user("frederic.font")
print("User name:", user.username)
results_pager = user.get_bookmark_categories(page_size=10)
print("Num results:", results_pager.count)
print("\t----- PAGE 1 -----")
for bookmark_category in results_pager:
print(
"\t-",
bookmark_category.name,
"with",
bookmark_category.num_sounds,
)
print("sounds at", bookmark_category.url)
print()
50 changes: 26 additions & 24 deletions freesound.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,11 +44,11 @@ class URIS:
LOGOUT = '/api-auth/logout/'
LOGOUT_AUTHORIZE = '/oauth2/logout_and_authorize/'
ME = '/me/'
ME_BOOKMARK_CATEGORIES = '/me/bookmark_categories/'
ME_BOOKMARK_CATEGORY_SOUNDS = '/me/bookmark_categories/<category_id>/sounds/'
USER = '/users/<username>/'
USER_SOUNDS = '/users/<username>/sounds/'
USER_PACKS = '/users/<username>/packs/'
USER_BOOKMARK_CATEGORIES = '/users/<username>/bookmark_categories/'
USER_BOOKMARK_CATEGORY_SOUNDS = '/users/<username>/bookmark_categories/<category_id>/sounds/' # noqa
PACK = '/packs/<pack_id>/'
PACK_SOUNDS = '/packs/<pack_id>/sounds/'
PACK_DOWNLOAD = '/packs/<pack_id>/download/'
Expand Down Expand Up @@ -176,6 +176,30 @@ def get_pack(self, pack_id):
uri = URIS.uri(URIS.PACK, pack_id)
return FSRequest.request(uri, {}, self, Pack)

def get_my_bookmark_categories(self, **params):
"""
Get bookmark categories for the authenticated user.
Relevant params: page, page_size
https://freesound.org/docs/api/resources_apiv2.html#my-bookmark-categories
Requires OAuth2 authentication.

>>> c.get_my_bookmark_categories()
"""
uri = URIS.uri(URIS.ME_BOOKMARK_CATEGORIES)
return FSRequest.request(uri, params, self, GenericPager)

def get_my_bookmark_category_sounds(self, category_id, **params):
"""
Get sounds in a bookmark category for the authenticated user.
Relevant params: page, page_size, fields, descriptors, normalized
https://freesound.org/docs/api/resources_apiv2.html#my-bookmark-category-sounds
Requires OAuth2 authentication.

>>> c.get_my_bookmark_category_sounds(0)
"""
uri = URIS.uri(URIS.ME_BOOKMARK_CATEGORY_SOUNDS, category_id)
return FSRequest.request(uri, params, self, Pager)

def set_token(self, token, auth_type="token"):
"""
Set your API key or Oauth2 token
Expand Down Expand Up @@ -479,28 +503,6 @@ def get_packs(self, **params):
uri = URIS.uri(URIS.USER_PACKS, self.username)
return FSRequest.request(uri, params, self.client, GenericPager)

def get_bookmark_categories(self, **params):
"""
Get user bookmark categories.
Relevant params: page, page_size
https://freesound.org/docs/api/resources_apiv2.html#user-bookmark-categories

>>> u.get_bookmark_categories()
"""
uri = URIS.uri(URIS.USER_BOOKMARK_CATEGORIES, self.username)
return FSRequest.request(uri, params, self.client, GenericPager)

def get_bookmark_category_sounds(self, category_id, **params):
"""
Get user bookmarks.
Relevant params: page, page_size, fields, descriptors, normalized
https://freesound.org/docs/api/resources_apiv2.html#user-bookmark-category-sounds

>>> p = u.get_bookmark_category_sounds(0)
"""
uri = URIS.uri(URIS.USER_BOOKMARK_CATEGORY_SOUNDS, self.username, category_id)
return FSRequest.request(uri, params, self.client, Pager)

def __repr__(self):
return '<User: "%s">' % self.username

Expand Down
Loading