deezer-python-gql 0.10.0__tar.gz → 0.12.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {deezer_python_gql-0.10.0/deezer_python_gql.egg-info → deezer_python_gql-0.12.0}/PKG-INFO +5 -5
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/__init__.py +28 -8
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/client.py +90 -168
- deezer_python_gql-0.12.0/deezer_python_gql/generated/search.py +263 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0/deezer_python_gql.egg-info}/PKG-INFO +5 -5
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql.egg-info/requires.txt +4 -4
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/pyproject.toml +5 -5
- deezer_python_gql-0.10.0/deezer_python_gql/generated/search.py +0 -183
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/LICENSE +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/MANIFEST.in +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/README.md +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/__init__.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/base_client.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/add_album_to_favorite.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/add_artist_to_favorite.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/add_audiobook_to_favorite.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/add_playlist_to_favorite.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/add_podcast_to_favorite.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/add_track_to_favorite.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/add_tracks_to_playlist.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/base_client.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/base_model.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/bookmark_podcast_episode.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/create_playlist.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/delete_playlist.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/enums.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/fragments.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_album.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_artist.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_artist_mix.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_audiobook.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_audiobook_chapter.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_charts.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_favorite_albums.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_favorite_artists.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_favorite_audiobooks.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_favorite_playlists.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_favorite_podcasts.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_favorite_tracks.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_flow.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_flow_batch.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_flow_config_tracks.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_flow_configs.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_livestream.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_made_for_me.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_me.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_music_together_affinity.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_music_together_group.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_music_together_groups.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_personal_tracks.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_playlist.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_podcast.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_podcast_episode.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_podcast_episode_bookmarks.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_podcast_episodes_by_ids.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_recently_played.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_recommendations.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_similar_tracks.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_smart_tracklist.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_track.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_track_mix.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_user_charts.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_user_playlists.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/input_types.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/mark_as_not_played_podcast_episode.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/mark_as_played_podcast_episode.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/music_together_create_group.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/music_together_generate_group_name.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/music_together_join_group.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/music_together_leave_group.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/music_together_refresh_suggested_tracklist.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/music_together_update_group_settings.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/remove_album_from_favorite.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/remove_artist_from_favorite.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/remove_audiobook_from_favorite.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/remove_playlist_from_favorite.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/remove_podcast_from_favorite.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/remove_track_from_favorite.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/remove_tracks_from_playlist.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/search_flows.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/unbookmark_podcast_episode.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/update_playlist.py +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/py.typed +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql.egg-info/SOURCES.txt +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql.egg-info/dependency_links.txt +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql.egg-info/not-zip-safe +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql.egg-info/top_level.txt +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/setup.cfg +0 -0
- {deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/tests/test_client.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: deezer-python-gql
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.12.0
|
|
4
4
|
Summary: Async typed Python client for Deezer's Pipe GraphQL API.
|
|
5
5
|
Author-email: Julian Daberkow <jdaberkow@users.noreply.github.com>
|
|
6
6
|
License: Apache-2.0
|
|
@@ -15,13 +15,13 @@ Requires-Dist: httpx>=0.27.0
|
|
|
15
15
|
Requires-Dist: pydantic>=2.0.0
|
|
16
16
|
Provides-Extra: test
|
|
17
17
|
Requires-Dist: codespell==2.4.2; extra == "test"
|
|
18
|
-
Requires-Dist: mypy==
|
|
19
|
-
Requires-Dist: pre-commit==4.
|
|
18
|
+
Requires-Dist: mypy==2.0.0; extra == "test"
|
|
19
|
+
Requires-Dist: pre-commit==4.6.0; extra == "test"
|
|
20
20
|
Requires-Dist: pre-commit-hooks==6.0.0; extra == "test"
|
|
21
|
-
Requires-Dist: pytest==9.0.
|
|
21
|
+
Requires-Dist: pytest==9.0.3; extra == "test"
|
|
22
22
|
Requires-Dist: pytest-asyncio==1.3.0; extra == "test"
|
|
23
23
|
Requires-Dist: pytest-cov==7.1.0; extra == "test"
|
|
24
|
-
Requires-Dist: ruff==0.15.
|
|
24
|
+
Requires-Dist: ruff==0.15.12; extra == "test"
|
|
25
25
|
Provides-Extra: dev
|
|
26
26
|
Requires-Dist: ariadne-codegen[subscriptions]; extra == "dev"
|
|
27
27
|
Dynamic: license-file
|
{deezer_python_gql-0.10.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/__init__.py
RENAMED
|
@@ -564,30 +564,40 @@ from .search import (
|
|
|
564
564
|
SearchSearchResultsAlbums,
|
|
565
565
|
SearchSearchResultsAlbumsEdges,
|
|
566
566
|
SearchSearchResultsAlbumsEdgesNode,
|
|
567
|
+
SearchSearchResultsAlbumsEdgesNodeContributors,
|
|
568
|
+
SearchSearchResultsAlbumsEdgesNodeContributorsEdges,
|
|
569
|
+
SearchSearchResultsAlbumsEdgesNodeContributorsEdgesNodeArtist,
|
|
570
|
+
SearchSearchResultsAlbumsEdgesNodeCover,
|
|
567
571
|
SearchSearchResultsAlbumsPageInfo,
|
|
568
572
|
SearchSearchResultsArtists,
|
|
569
573
|
SearchSearchResultsArtistsEdges,
|
|
570
574
|
SearchSearchResultsArtistsEdgesNode,
|
|
575
|
+
SearchSearchResultsArtistsEdgesNodePicture,
|
|
571
576
|
SearchSearchResultsArtistsPageInfo,
|
|
572
577
|
SearchSearchResultsLivestreams,
|
|
573
578
|
SearchSearchResultsLivestreamsEdges,
|
|
574
579
|
SearchSearchResultsLivestreamsEdgesNode,
|
|
580
|
+
SearchSearchResultsLivestreamsEdgesNodeCover,
|
|
575
581
|
SearchSearchResultsLivestreamsPageInfo,
|
|
576
582
|
SearchSearchResultsPlaylists,
|
|
577
583
|
SearchSearchResultsPlaylistsEdges,
|
|
578
584
|
SearchSearchResultsPlaylistsEdgesNode,
|
|
585
|
+
SearchSearchResultsPlaylistsEdgesNodeOwner,
|
|
586
|
+
SearchSearchResultsPlaylistsEdgesNodePicture,
|
|
579
587
|
SearchSearchResultsPlaylistsPageInfo,
|
|
580
|
-
SearchSearchResultsPodcastEpisodes,
|
|
581
|
-
SearchSearchResultsPodcastEpisodesEdges,
|
|
582
|
-
SearchSearchResultsPodcastEpisodesEdgesNode,
|
|
583
|
-
SearchSearchResultsPodcastEpisodesPageInfo,
|
|
584
588
|
SearchSearchResultsPodcasts,
|
|
585
589
|
SearchSearchResultsPodcastsEdges,
|
|
586
590
|
SearchSearchResultsPodcastsEdgesNode,
|
|
591
|
+
SearchSearchResultsPodcastsEdgesNodeCover,
|
|
587
592
|
SearchSearchResultsPodcastsPageInfo,
|
|
588
593
|
SearchSearchResultsTracks,
|
|
589
594
|
SearchSearchResultsTracksEdges,
|
|
590
595
|
SearchSearchResultsTracksEdgesNode,
|
|
596
|
+
SearchSearchResultsTracksEdgesNodeAlbum,
|
|
597
|
+
SearchSearchResultsTracksEdgesNodeAlbumCover,
|
|
598
|
+
SearchSearchResultsTracksEdgesNodeContributors,
|
|
599
|
+
SearchSearchResultsTracksEdgesNodeContributorsEdges,
|
|
600
|
+
SearchSearchResultsTracksEdgesNodeContributorsEdgesNodeArtist,
|
|
591
601
|
SearchSearchResultsTracksPageInfo,
|
|
592
602
|
)
|
|
593
603
|
from .search_flows import (
|
|
@@ -1060,30 +1070,40 @@ __all__ = [
|
|
|
1060
1070
|
"SearchSearchResultsAlbums",
|
|
1061
1071
|
"SearchSearchResultsAlbumsEdges",
|
|
1062
1072
|
"SearchSearchResultsAlbumsEdgesNode",
|
|
1073
|
+
"SearchSearchResultsAlbumsEdgesNodeContributors",
|
|
1074
|
+
"SearchSearchResultsAlbumsEdgesNodeContributorsEdges",
|
|
1075
|
+
"SearchSearchResultsAlbumsEdgesNodeContributorsEdgesNodeArtist",
|
|
1076
|
+
"SearchSearchResultsAlbumsEdgesNodeCover",
|
|
1063
1077
|
"SearchSearchResultsAlbumsPageInfo",
|
|
1064
1078
|
"SearchSearchResultsArtists",
|
|
1065
1079
|
"SearchSearchResultsArtistsEdges",
|
|
1066
1080
|
"SearchSearchResultsArtistsEdgesNode",
|
|
1081
|
+
"SearchSearchResultsArtistsEdgesNodePicture",
|
|
1067
1082
|
"SearchSearchResultsArtistsPageInfo",
|
|
1068
1083
|
"SearchSearchResultsLivestreams",
|
|
1069
1084
|
"SearchSearchResultsLivestreamsEdges",
|
|
1070
1085
|
"SearchSearchResultsLivestreamsEdgesNode",
|
|
1086
|
+
"SearchSearchResultsLivestreamsEdgesNodeCover",
|
|
1071
1087
|
"SearchSearchResultsLivestreamsPageInfo",
|
|
1072
1088
|
"SearchSearchResultsPlaylists",
|
|
1073
1089
|
"SearchSearchResultsPlaylistsEdges",
|
|
1074
1090
|
"SearchSearchResultsPlaylistsEdgesNode",
|
|
1091
|
+
"SearchSearchResultsPlaylistsEdgesNodeOwner",
|
|
1092
|
+
"SearchSearchResultsPlaylistsEdgesNodePicture",
|
|
1075
1093
|
"SearchSearchResultsPlaylistsPageInfo",
|
|
1076
|
-
"SearchSearchResultsPodcastEpisodes",
|
|
1077
|
-
"SearchSearchResultsPodcastEpisodesEdges",
|
|
1078
|
-
"SearchSearchResultsPodcastEpisodesEdgesNode",
|
|
1079
|
-
"SearchSearchResultsPodcastEpisodesPageInfo",
|
|
1080
1094
|
"SearchSearchResultsPodcasts",
|
|
1081
1095
|
"SearchSearchResultsPodcastsEdges",
|
|
1082
1096
|
"SearchSearchResultsPodcastsEdgesNode",
|
|
1097
|
+
"SearchSearchResultsPodcastsEdgesNodeCover",
|
|
1083
1098
|
"SearchSearchResultsPodcastsPageInfo",
|
|
1084
1099
|
"SearchSearchResultsTracks",
|
|
1085
1100
|
"SearchSearchResultsTracksEdges",
|
|
1086
1101
|
"SearchSearchResultsTracksEdgesNode",
|
|
1102
|
+
"SearchSearchResultsTracksEdgesNodeAlbum",
|
|
1103
|
+
"SearchSearchResultsTracksEdgesNodeAlbumCover",
|
|
1104
|
+
"SearchSearchResultsTracksEdgesNodeContributors",
|
|
1105
|
+
"SearchSearchResultsTracksEdgesNodeContributorsEdges",
|
|
1106
|
+
"SearchSearchResultsTracksEdgesNodeContributorsEdgesNodeArtist",
|
|
1087
1107
|
"SearchSearchResultsTracksPageInfo",
|
|
1088
1108
|
"TrackContributorRoles",
|
|
1089
1109
|
"TrackFields",
|
|
@@ -1756,14 +1756,16 @@ class DeezerGQLClient(DeezerBaseClient):
|
|
|
1756
1756
|
async def get_flow_configs(
|
|
1757
1757
|
self,
|
|
1758
1758
|
moods_first: Union[Optional[int], UnsetType] = UNSET,
|
|
1759
|
+
moods_after: Union[Optional[str], UnsetType] = UNSET,
|
|
1759
1760
|
genres_first: Union[Optional[int], UnsetType] = UNSET,
|
|
1761
|
+
genres_after: Union[Optional[str], UnsetType] = UNSET,
|
|
1760
1762
|
**kwargs: Any,
|
|
1761
1763
|
) -> Optional[GetFlowConfigsMe]:
|
|
1762
1764
|
query = gql("""
|
|
1763
|
-
query GetFlowConfigs($moodsFirst: Int = 12, $genresFirst: Int = 12) {
|
|
1765
|
+
query GetFlowConfigs($moodsFirst: Int = 12, $moodsAfter: String, $genresFirst: Int = 12, $genresAfter: String) {
|
|
1764
1766
|
me {
|
|
1765
1767
|
flowConfigs {
|
|
1766
|
-
moods(first: $moodsFirst) {
|
|
1768
|
+
moods(first: $moodsFirst, after: $moodsAfter) {
|
|
1767
1769
|
edges {
|
|
1768
1770
|
cursor
|
|
1769
1771
|
node {
|
|
@@ -1781,7 +1783,7 @@ class DeezerGQLClient(DeezerBaseClient):
|
|
|
1781
1783
|
...PageInfoFields
|
|
1782
1784
|
}
|
|
1783
1785
|
}
|
|
1784
|
-
genres(first: $genresFirst) {
|
|
1786
|
+
genres(first: $genresFirst, after: $genresAfter) {
|
|
1785
1787
|
edges {
|
|
1786
1788
|
cursor
|
|
1787
1789
|
node {
|
|
@@ -1810,7 +1812,9 @@ class DeezerGQLClient(DeezerBaseClient):
|
|
|
1810
1812
|
""")
|
|
1811
1813
|
variables: dict[str, object] = {
|
|
1812
1814
|
"moodsFirst": moods_first,
|
|
1815
|
+
"moodsAfter": moods_after,
|
|
1813
1816
|
"genresFirst": genres_first,
|
|
1817
|
+
"genresAfter": genres_after,
|
|
1814
1818
|
}
|
|
1815
1819
|
response = await self.execute(
|
|
1816
1820
|
query=query, operation_name="GetFlowConfigs", variables=variables, **kwargs
|
|
@@ -3041,10 +3045,11 @@ class DeezerGQLClient(DeezerBaseClient):
|
|
|
3041
3045
|
self,
|
|
3042
3046
|
smart_tracklist_id: str,
|
|
3043
3047
|
first: Union[Optional[int], UnsetType] = UNSET,
|
|
3048
|
+
after: Union[Optional[str], UnsetType] = UNSET,
|
|
3044
3049
|
**kwargs: Any,
|
|
3045
3050
|
) -> Optional[GetSmartTracklistSmartTracklist]:
|
|
3046
3051
|
query = gql("""
|
|
3047
|
-
query GetSmartTracklist($smartTracklistId: String!, $first: Int = 50) {
|
|
3052
|
+
query GetSmartTracklist($smartTracklistId: String!, $first: Int = 50, $after: String) {
|
|
3048
3053
|
smartTracklist(smartTracklistId: $smartTracklistId) {
|
|
3049
3054
|
id
|
|
3050
3055
|
title
|
|
@@ -3053,7 +3058,7 @@ class DeezerGQLClient(DeezerBaseClient):
|
|
|
3053
3058
|
id
|
|
3054
3059
|
urls(pictureRequest: {width: 264, height: 264})
|
|
3055
3060
|
}
|
|
3056
|
-
tracks(first: $first) {
|
|
3061
|
+
tracks(first: $first, after: $after) {
|
|
3057
3062
|
edges {
|
|
3058
3063
|
cursor
|
|
3059
3064
|
node {
|
|
@@ -3108,6 +3113,7 @@ class DeezerGQLClient(DeezerBaseClient):
|
|
|
3108
3113
|
variables: dict[str, object] = {
|
|
3109
3114
|
"smartTracklistId": smart_tracklist_id,
|
|
3110
3115
|
"first": first,
|
|
3116
|
+
"after": after,
|
|
3111
3117
|
}
|
|
3112
3118
|
response = await self.execute(
|
|
3113
3119
|
query=query,
|
|
@@ -3815,18 +3821,41 @@ class DeezerGQLClient(DeezerBaseClient):
|
|
|
3815
3821
|
playlists_first: Union[Optional[int], UnsetType] = UNSET,
|
|
3816
3822
|
livestreams_first: Union[Optional[int], UnsetType] = UNSET,
|
|
3817
3823
|
podcasts_first: Union[Optional[int], UnsetType] = UNSET,
|
|
3818
|
-
podcast_episodes_first: Union[Optional[int], UnsetType] = UNSET,
|
|
3819
3824
|
**kwargs: Any,
|
|
3820
3825
|
) -> Optional[SearchSearch]:
|
|
3821
3826
|
_query = gql("""
|
|
3822
|
-
query Search($query: String!, $tracksFirst: Int = 20, $albumsFirst: Int = 20, $artistsFirst: Int = 20, $playlistsFirst: Int = 10, $livestreamsFirst: Int = 0, $podcastsFirst: Int = 0
|
|
3827
|
+
query Search($query: String!, $tracksFirst: Int = 20, $albumsFirst: Int = 20, $artistsFirst: Int = 20, $playlistsFirst: Int = 10, $livestreamsFirst: Int = 0, $podcastsFirst: Int = 0) {
|
|
3823
3828
|
search(query: $query) {
|
|
3824
3829
|
results {
|
|
3825
3830
|
tracks(first: $tracksFirst) {
|
|
3826
3831
|
edges {
|
|
3827
3832
|
cursor
|
|
3828
3833
|
node {
|
|
3829
|
-
|
|
3834
|
+
id
|
|
3835
|
+
title
|
|
3836
|
+
duration
|
|
3837
|
+
isExplicit
|
|
3838
|
+
isFavorite
|
|
3839
|
+
album {
|
|
3840
|
+
id
|
|
3841
|
+
displayTitle
|
|
3842
|
+
cover {
|
|
3843
|
+
id
|
|
3844
|
+
urls(pictureRequest: {width: 264, height: 264})
|
|
3845
|
+
}
|
|
3846
|
+
}
|
|
3847
|
+
contributors(first: 3, roles: [MAIN, FEATURED]) {
|
|
3848
|
+
edges {
|
|
3849
|
+
roles
|
|
3850
|
+
node {
|
|
3851
|
+
__typename
|
|
3852
|
+
... on Artist {
|
|
3853
|
+
id
|
|
3854
|
+
name
|
|
3855
|
+
}
|
|
3856
|
+
}
|
|
3857
|
+
}
|
|
3858
|
+
}
|
|
3830
3859
|
}
|
|
3831
3860
|
}
|
|
3832
3861
|
pageInfo {
|
|
@@ -3837,7 +3866,27 @@ class DeezerGQLClient(DeezerBaseClient):
|
|
|
3837
3866
|
edges {
|
|
3838
3867
|
cursor
|
|
3839
3868
|
node {
|
|
3840
|
-
|
|
3869
|
+
id
|
|
3870
|
+
displayTitle
|
|
3871
|
+
type
|
|
3872
|
+
cover {
|
|
3873
|
+
id
|
|
3874
|
+
urls(pictureRequest: {width: 264, height: 264})
|
|
3875
|
+
}
|
|
3876
|
+
contributors(first: 3, roles: [MAIN]) {
|
|
3877
|
+
edges {
|
|
3878
|
+
node {
|
|
3879
|
+
__typename
|
|
3880
|
+
... on Artist {
|
|
3881
|
+
id
|
|
3882
|
+
name
|
|
3883
|
+
}
|
|
3884
|
+
}
|
|
3885
|
+
}
|
|
3886
|
+
}
|
|
3887
|
+
releaseDate
|
|
3888
|
+
isExplicit
|
|
3889
|
+
isFavorite
|
|
3841
3890
|
}
|
|
3842
3891
|
}
|
|
3843
3892
|
pageInfo {
|
|
@@ -3848,7 +3897,13 @@ class DeezerGQLClient(DeezerBaseClient):
|
|
|
3848
3897
|
edges {
|
|
3849
3898
|
cursor
|
|
3850
3899
|
node {
|
|
3851
|
-
|
|
3900
|
+
id
|
|
3901
|
+
name
|
|
3902
|
+
isFavorite
|
|
3903
|
+
picture {
|
|
3904
|
+
id
|
|
3905
|
+
urls(pictureRequest: {width: 264, height: 264})
|
|
3906
|
+
}
|
|
3852
3907
|
}
|
|
3853
3908
|
}
|
|
3854
3909
|
pageInfo {
|
|
@@ -3859,7 +3914,18 @@ class DeezerGQLClient(DeezerBaseClient):
|
|
|
3859
3914
|
edges {
|
|
3860
3915
|
cursor
|
|
3861
3916
|
node {
|
|
3862
|
-
|
|
3917
|
+
id
|
|
3918
|
+
title
|
|
3919
|
+
picture {
|
|
3920
|
+
id
|
|
3921
|
+
urls(pictureRequest: {width: 264, height: 264})
|
|
3922
|
+
}
|
|
3923
|
+
estimatedTracksCount
|
|
3924
|
+
isFavorite
|
|
3925
|
+
owner {
|
|
3926
|
+
id
|
|
3927
|
+
name
|
|
3928
|
+
}
|
|
3863
3929
|
}
|
|
3864
3930
|
}
|
|
3865
3931
|
pageInfo {
|
|
@@ -3870,7 +3936,12 @@ class DeezerGQLClient(DeezerBaseClient):
|
|
|
3870
3936
|
edges {
|
|
3871
3937
|
cursor
|
|
3872
3938
|
node {
|
|
3873
|
-
|
|
3939
|
+
id
|
|
3940
|
+
name
|
|
3941
|
+
cover {
|
|
3942
|
+
id
|
|
3943
|
+
urls(pictureRequest: {width: 264, height: 264})
|
|
3944
|
+
}
|
|
3874
3945
|
}
|
|
3875
3946
|
}
|
|
3876
3947
|
pageInfo {
|
|
@@ -3881,18 +3952,13 @@ class DeezerGQLClient(DeezerBaseClient):
|
|
|
3881
3952
|
edges {
|
|
3882
3953
|
cursor
|
|
3883
3954
|
node {
|
|
3884
|
-
|
|
3885
|
-
|
|
3886
|
-
|
|
3887
|
-
|
|
3888
|
-
|
|
3889
|
-
|
|
3890
|
-
|
|
3891
|
-
podcastEpisodes(first: $podcastEpisodesFirst) {
|
|
3892
|
-
edges {
|
|
3893
|
-
cursor
|
|
3894
|
-
node {
|
|
3895
|
-
...PodcastEpisodeFields
|
|
3955
|
+
id
|
|
3956
|
+
displayTitle
|
|
3957
|
+
cover {
|
|
3958
|
+
id
|
|
3959
|
+
urls(pictureRequest: {width: 264, height: 264})
|
|
3960
|
+
}
|
|
3961
|
+
isFavorite
|
|
3896
3962
|
}
|
|
3897
3963
|
}
|
|
3898
3964
|
pageInfo {
|
|
@@ -3903,153 +3969,10 @@ class DeezerGQLClient(DeezerBaseClient):
|
|
|
3903
3969
|
}
|
|
3904
3970
|
}
|
|
3905
3971
|
|
|
3906
|
-
fragment AlbumFields on Album {
|
|
3907
|
-
id
|
|
3908
|
-
displayTitle
|
|
3909
|
-
type
|
|
3910
|
-
cover {
|
|
3911
|
-
id
|
|
3912
|
-
urls(pictureRequest: {width: 264, height: 264})
|
|
3913
|
-
}
|
|
3914
|
-
contributors(first: 5, roles: [MAIN]) {
|
|
3915
|
-
edges {
|
|
3916
|
-
node {
|
|
3917
|
-
... on Artist {
|
|
3918
|
-
id
|
|
3919
|
-
name
|
|
3920
|
-
}
|
|
3921
|
-
}
|
|
3922
|
-
}
|
|
3923
|
-
}
|
|
3924
|
-
releaseDate
|
|
3925
|
-
isExplicit
|
|
3926
|
-
isFavorite
|
|
3927
|
-
fansCount
|
|
3928
|
-
label
|
|
3929
|
-
copyright
|
|
3930
|
-
}
|
|
3931
|
-
|
|
3932
|
-
fragment ArtistFields on Artist {
|
|
3933
|
-
id
|
|
3934
|
-
name
|
|
3935
|
-
picture {
|
|
3936
|
-
id
|
|
3937
|
-
urls(pictureRequest: {width: 264, height: 264})
|
|
3938
|
-
}
|
|
3939
|
-
fansCount
|
|
3940
|
-
isFavorite
|
|
3941
|
-
bio {
|
|
3942
|
-
summary
|
|
3943
|
-
full
|
|
3944
|
-
}
|
|
3945
|
-
}
|
|
3946
|
-
|
|
3947
|
-
fragment LivestreamFields on Livestream {
|
|
3948
|
-
id
|
|
3949
|
-
name
|
|
3950
|
-
language
|
|
3951
|
-
description
|
|
3952
|
-
isOnStream
|
|
3953
|
-
country
|
|
3954
|
-
cover {
|
|
3955
|
-
id
|
|
3956
|
-
urls(pictureRequest: {width: 264, height: 264})
|
|
3957
|
-
}
|
|
3958
|
-
media {
|
|
3959
|
-
url
|
|
3960
|
-
codec {
|
|
3961
|
-
type
|
|
3962
|
-
bitrate
|
|
3963
|
-
}
|
|
3964
|
-
}
|
|
3965
|
-
}
|
|
3966
|
-
|
|
3967
3972
|
fragment PageInfoFields on PageInfo {
|
|
3968
3973
|
hasNextPage
|
|
3969
3974
|
endCursor
|
|
3970
3975
|
}
|
|
3971
|
-
|
|
3972
|
-
fragment PlaylistFields on Playlist {
|
|
3973
|
-
id
|
|
3974
|
-
title
|
|
3975
|
-
picture {
|
|
3976
|
-
id
|
|
3977
|
-
urls(pictureRequest: {width: 264, height: 264})
|
|
3978
|
-
}
|
|
3979
|
-
estimatedTracksCount
|
|
3980
|
-
fansCount
|
|
3981
|
-
isFavorite
|
|
3982
|
-
description
|
|
3983
|
-
owner {
|
|
3984
|
-
id
|
|
3985
|
-
name
|
|
3986
|
-
}
|
|
3987
|
-
}
|
|
3988
|
-
|
|
3989
|
-
fragment PodcastEpisodeFields on PodcastEpisode {
|
|
3990
|
-
id
|
|
3991
|
-
title
|
|
3992
|
-
description
|
|
3993
|
-
duration
|
|
3994
|
-
cover {
|
|
3995
|
-
id
|
|
3996
|
-
urls(pictureRequest: {width: 264, height: 264})
|
|
3997
|
-
}
|
|
3998
|
-
publicationDate
|
|
3999
|
-
media {
|
|
4000
|
-
url
|
|
4001
|
-
codec {
|
|
4002
|
-
type
|
|
4003
|
-
bitrate
|
|
4004
|
-
}
|
|
4005
|
-
}
|
|
4006
|
-
}
|
|
4007
|
-
|
|
4008
|
-
fragment PodcastFields on Podcast {
|
|
4009
|
-
id
|
|
4010
|
-
displayTitle
|
|
4011
|
-
cover {
|
|
4012
|
-
id
|
|
4013
|
-
urls(pictureRequest: {width: 264, height: 264})
|
|
4014
|
-
}
|
|
4015
|
-
description
|
|
4016
|
-
isExplicit
|
|
4017
|
-
isFavorite
|
|
4018
|
-
type
|
|
4019
|
-
}
|
|
4020
|
-
|
|
4021
|
-
fragment TrackFields on Track {
|
|
4022
|
-
id
|
|
4023
|
-
title
|
|
4024
|
-
ISRC
|
|
4025
|
-
diskInfo {
|
|
4026
|
-
diskNumber
|
|
4027
|
-
trackNumber
|
|
4028
|
-
}
|
|
4029
|
-
duration
|
|
4030
|
-
isExplicit
|
|
4031
|
-
isFavorite
|
|
4032
|
-
popularity
|
|
4033
|
-
album {
|
|
4034
|
-
id
|
|
4035
|
-
displayTitle
|
|
4036
|
-
cover {
|
|
4037
|
-
id
|
|
4038
|
-
urls(pictureRequest: {width: 264, height: 264})
|
|
4039
|
-
}
|
|
4040
|
-
}
|
|
4041
|
-
contributors(first: 10, roles: [MAIN, FEATURED]) {
|
|
4042
|
-
edges {
|
|
4043
|
-
roles
|
|
4044
|
-
node {
|
|
4045
|
-
... on Artist {
|
|
4046
|
-
id
|
|
4047
|
-
name
|
|
4048
|
-
}
|
|
4049
|
-
}
|
|
4050
|
-
}
|
|
4051
|
-
}
|
|
4052
|
-
}
|
|
4053
3976
|
""")
|
|
4054
3977
|
variables: dict[str, object] = {
|
|
4055
3978
|
"query": query,
|
|
@@ -4059,7 +3982,6 @@ class DeezerGQLClient(DeezerBaseClient):
|
|
|
4059
3982
|
"playlistsFirst": playlists_first,
|
|
4060
3983
|
"livestreamsFirst": livestreams_first,
|
|
4061
3984
|
"podcastsFirst": podcasts_first,
|
|
4062
|
-
"podcastEpisodesFirst": podcast_episodes_first,
|
|
4063
3985
|
}
|
|
4064
3986
|
response = await self.execute(
|
|
4065
3987
|
query=_query, operation_name="Search", variables=variables, **kwargs
|