3 Commits
tmp ... master

Author SHA1 Message Date
e8d305a5d2 Handle dates outside Python's range 2024-12-07 14:02:55 -05:00
876ccaf8d2 Pin pyyaml for #724 2023-08-01 21:24:14 -04:00
f287780bcd Fix track lookup 2022-06-12 12:36:27 -04:00
4 changed files with 8 additions and 5 deletions

View File

@ -13,7 +13,7 @@ license = "MIT"
python = "^3.7"
spotipy = "^2.18.0"
spotify-model = {path = "../spotify_model", develop = true}
PyYAML = "^5.4.1"
PyYAML = "=5.3.1"
[tool.poetry.dev-dependencies]
pre-commit = "^2.13.0"

View File

@ -75,7 +75,10 @@ def album_sort_release(
all_albums = list(albums)
def _sort_key(album: SearchAlbum) -> date:
try:
return parse_release_date(album.release_date, album.release_date_precision, fast_forward=fast_forward)
except ValueError:
return date(1970, 1, 1)
for album in sorted(all_albums, key=_sort_key, reverse=descending):
yield album

View File

@ -21,7 +21,7 @@ def track_from_ids(
yield track if isinstance(track, str) else track.spotify_id
for track_id_chunk in chunk(_to_id(), chunk_size):
track_chunk = client.tracks(track_id_chunk)
track_chunk = client.tracks(track_id_chunk)["tracks"]
for track in track_chunk:
yield Track(**track)

View File

@ -32,13 +32,13 @@ def read_credentials_server(path: Path) -> Spotify:
return Spotify(client_credentials_manager=credentials_manager)
def read_credentials_oauth(path: Path, redirect_uri: str, scopes: List[str]) -> Spotify:
def read_credentials_oauth(path: Path, redirect_uri: str, scopes: List[str], open_browser: bool = True) -> Spotify:
"Read credentials from a YAML file and authorize a user"
with open(path, "r") as credentials_file:
credentials = yaml.safe_load(credentials_file)
credentials_manager = SpotifyOAuth(
credentials["client_id"], credentials["client_secret"], redirect_uri, scope=scopes
credentials["client_id"], credentials["client_secret"], redirect_uri, scope=scopes, open_browser=open_browser
)
return Spotify(client_credentials_manager=credentials_manager)