7
7
<img src =" https://img.shields.io/github/license/dotX12/shazamio.svg " alt =" https://github.com/dotX12/ShazamIO/blob/master/LICENSE.txt " >
8
8
<br ><br >
9
9
<img width =" 1000 " src =" https://user-images.githubusercontent.com/64792903/109359596-ca561a00-7896-11eb-9c93-9cf1f283b1a5.png " >
10
- 🎵 Is a FREE asynchronous framework from reverse engineered Shazam API written in Python 3.7 + with asyncio and aiohttp.
10
+ 🎵 Is a FREE asynchronous framework from reverse engineered Shazam API written in Python 3.6 + with asyncio and aiohttp.
11
11
</p >
12
12
13
13
----
@@ -53,21 +53,20 @@ Retrieving information from an artist profile<br>
53
53
54
54
``` python3
55
55
import asyncio
56
- from shazamio import Shazam, FactoryArtist
56
+ from shazamio import Shazam, serialize_artist
57
57
58
58
59
59
async def main ():
60
60
shazam = Shazam()
61
61
artist_id = 43328183
62
62
about_artist = await shazam.artist_about(artist_id)
63
- serialized = FactoryArtist( data = about_artist).serializer( )
63
+ serialized = serialize_artist( about_artist)
64
64
65
65
print (about_artist) # dict
66
66
print (serialized) # serialized from dataclass factory
67
67
68
68
loop = asyncio.get_event_loop()
69
69
loop.run_until_complete(main())
70
-
71
70
```
72
71
</details >
73
72
@@ -82,14 +81,14 @@ Get track information<br>
82
81
83
82
``` python3
84
83
import asyncio
85
- from shazamio import Shazam, FactoryTrack
84
+ from shazamio import Shazam, serialize_track
86
85
87
86
88
87
async def main ():
89
88
shazam = Shazam()
90
89
track_id = 552406075
91
90
about_track = await shazam.track_about(track_id = track_id)
92
- serialized = FactoryTrack (data = about_track).serializer( )
91
+ serialized = serialize_track (data = about_track)
93
92
94
93
print (about_track) # dict
95
94
print (serialized) # serialized from dataclass factory
@@ -132,18 +131,19 @@ loop.run_until_complete(main())
132
131
Search all artists by prefix<br >
133
132
``` python3
134
133
import asyncio
135
- from shazamio import Shazam, FactoryArtist
134
+ from shazamio import Shazam, serialize_artist
136
135
137
136
138
137
async def main ():
139
138
shazam = Shazam()
140
139
artists = await shazam.search_artist(query = ' Lil' , limit = 5 )
141
140
for artist in artists[' artists' ][' hits' ]:
142
- serialized = FactoryArtist( artist).serializer( )
141
+ serialized = serialize_artist( data = artist)
143
142
print (serialized)
144
143
145
144
loop = asyncio.get_event_loop()
146
145
loop.run_until_complete(main())
146
+
147
147
```
148
148
</details >
149
149
@@ -180,15 +180,15 @@ Get the top songs according to Shazam<br>
180
180
181
181
``` python3
182
182
import asyncio
183
- from shazamio import Shazam, FactoryTrack
183
+ from shazamio import Shazam, serialize_track
184
184
185
185
186
186
async def main ():
187
187
shazam = Shazam()
188
188
artist_id = 201896832
189
189
top_three_artist_tracks = await shazam.artist_top_tracks(artist_id = artist_id, limit = 3 )
190
190
for track in top_three_artist_tracks[' tracks' ]:
191
- serialized_track = FactoryTrack (data = track).serializer( )
191
+ serialized_track = serialize_track (data = track)
192
192
print (serialized_track)
193
193
194
194
loop = asyncio.get_event_loop()
@@ -207,23 +207,22 @@ Retrieving information from an artist profile<br>
207
207
208
208
``` python3
209
209
import asyncio
210
- from shazamio import Shazam, FactoryTrack
210
+ from shazamio import Shazam, serialize_track
211
211
212
212
213
213
async def main ():
214
214
shazam = Shazam()
215
- top_ten_moscow_tracks = await shazam.top_city_tracks(country_code = ' RU' ,
216
- city_name = ' Moscow' ,
217
- limit = 10 )
215
+ top_ten_moscow_tracks = await shazam.top_city_tracks(country_code = ' RU' , city_name = ' Moscow' , limit = 10 )
218
216
print (top_ten_moscow_tracks)
219
217
# ALL TRACKS DICT
220
218
for track in top_ten_moscow_tracks[' tracks' ]:
221
- serialized = FactoryTrack( track).serializer( )
219
+ serialized = serialize_track( data = track)
222
220
# SERIALIZE FROM DATACLASS FACTORY
223
221
print (serialized)
224
222
225
223
loop = asyncio.get_event_loop()
226
224
loop.run_until_complete(main())
225
+
227
226
```
228
227
</details >
229
228
@@ -237,14 +236,14 @@ Get the best tracks by country code<br>
237
236
238
237
``` python3
239
238
import asyncio
240
- from shazamio import Shazam, FactoryTrack
239
+ from shazamio import Shazam, serialize_track
241
240
242
241
243
242
async def main ():
244
243
shazam = Shazam()
245
244
top_five_track_from_amsterdam = await shazam.top_country_tracks(' NL' , 5 )
246
245
for track in top_five_track_from_amsterdam[' tracks' ]:
247
- serialized = FactoryTrack (data = track).serializer( )
246
+ serialized = serialize_track (data = track)
248
247
print (serialized)
249
248
250
249
loop = asyncio.get_event_loop()
@@ -267,7 +266,7 @@ from shazamio import Shazam, GenreMusic
267
266
268
267
async def main ():
269
268
shazam = Shazam()
270
- top_spain_rap = await shazam.top_country_genre_tracks(country = ' ES' ,
269
+ top_spain_rap = await shazam.top_country_genre_tracks(country_code = ' ES' ,
271
270
genre = GenreMusic.HIP_HOP_RAP ,
272
271
limit = 4 )
273
272
print (top_spain_rap)
@@ -287,22 +286,20 @@ Get world tracks by certain genre<br>
287
286
288
287
``` python3
289
288
import asyncio
290
- from shazamio import Shazam, FactoryTrack , GenreMusic
289
+ from shazamio import Shazam, serialize_track , GenreMusic
291
290
292
291
293
292
async def main ():
294
293
shazam = Shazam()
295
294
top_rock_in_the_world = await shazam.top_world_genre_tracks(genre = GenreMusic.ROCK , limit = 10 )
296
295
297
296
for track in top_rock_in_the_world[' tracks' ]:
298
- serialized_track = FactoryTrack( track).serializer( )
297
+ serialized_track = serialize_track( data = track)
299
298
print (serialized_track.spotify_url)
300
299
301
300
302
301
loop = asyncio.get_event_loop()
303
302
loop.run_until_complete(main())
304
-
305
-
306
303
```
307
304
</details >
308
305
@@ -316,15 +313,15 @@ Get the best tracks from all over the world<br>
316
313
317
314
``` python3
318
315
import asyncio
319
- from shazamio import Shazam, FactoryTrack
316
+ from shazamio import Shazam, serialize_track
320
317
321
318
322
319
async def main ():
323
320
shazam = Shazam()
324
321
top_world_tracks = await shazam.top_world_tracks(limit = 10 )
325
322
print (top_world_tracks)
326
323
for track in top_world_tracks[' tracks' ]:
327
- serialized = FactoryTrack (track).serializer( )
324
+ serialized = serialize_track (track)
328
325
print (serialized)
329
326
330
327
loop = asyncio.get_event_loop()
@@ -342,14 +339,14 @@ loop.run_until_complete(main())
342
339
343
340
``` python3
344
341
import asyncio
345
- from shazamio import Shazam, FactoryTrack
342
+ from shazamio import Shazam, serialize_track
346
343
347
344
348
345
async def main ():
349
346
shazam = Shazam()
350
347
top_five_track_from_amsterdam = await shazam.top_country_tracks(' NL' , 5 )
351
348
for track in top_five_track_from_amsterdam[' tracks' ]:
352
- serialized = FactoryTrack (data = track).serializer( )
349
+ serialized = serialize_track (data = track)
353
350
print (serialized.title)
354
351
355
352
loop = asyncio.get_event_loop()
@@ -374,13 +371,3 @@ loop.run_until_complete(main())
374
371
</details >
375
372
376
373
Agree, thanks to the serializer, you no longer need to manually select the necessary data from the dictionary. Now the serializer contains the most necessary information about an artist or a track.
377
-
378
- You can get information on a specific attribute like this:
379
-
380
- <details >
381
- <summary >
382
- <i >Open photo: Using an attribute with a Serializer</i >
383
- </summary >
384
- <img src =" https://user-images.githubusercontent.com/64792903/109455344-75b5c900-7a67-11eb-9863-a5ecd2859119.png " >
385
-
386
- </details >
0 commit comments