1
1
from typing import Dict , List , Optional
2
2
3
3
4
+ class Proxy :
5
+ def __init__ (self , data ):
6
+ self .__dict__ .update (data )
7
+
8
+ def __repr__ (self ):
9
+ attributes = (f'{ k } ={ v } ' for k , v in self .__dict__ .items () if not k .startswith ('_' ))
10
+ return 'Proxy({})' .format (', ' .join (attributes ))
11
+
12
+ def __iter__ (self ):
13
+ return iter (self .__dict__ .items ())
14
+
15
+ def __len__ (self ):
16
+ return len (self .__dict__ )
17
+
18
+
4
19
class BanInfo :
5
20
def __init__ (self , data : dict ):
6
21
self .id : str = data ['id' ]
@@ -61,6 +76,8 @@ def __init__(self, data: dict):
61
76
self .search_str : str = data ['search_str' ]
62
77
self .album_art : str = data ['album_art' ]
63
78
self .popularity : int = data ['popularity' ]
79
+ self .singalong : List [dict ] = data ['singalong' ]
80
+ self .meta : Proxy = Proxy (data ['meta' ])
64
81
self .id : str = data ['id' ]
65
82
self .search_score : float = data ['search_score' ]
66
83
self .url : str = data ['url' ]
@@ -93,6 +110,7 @@ def __init__(self, data: dict):
93
110
self .youtube_link : str = youtube ['link' ]
94
111
self .youtube_title : str = youtube ['title' ]
95
112
self .youtube_thumbnail : str = youtube ['thumbnail' ]
113
+ self .youtube_description : str = youtube ['description' ]
96
114
97
115
self .spotify_id : str = spotify ['id' ]
98
116
self .spotify_name : str = spotify ['name' ]
@@ -119,6 +137,7 @@ def __init__(self, data: dict):
119
137
self .comments : int = data .get ('comments' )
120
138
self .created_at : int = data .get ('created_at' )
121
139
self .nsfw : bool = data .get ('nsfw' )
140
+ self .awards : int = data .get ('awards' )
122
141
self .raw : dict = data
123
142
124
143
@@ -182,11 +201,12 @@ def __init__(self, data: dict):
182
201
self .postal_code : str = data .get ('postal_code' )
183
202
self .region : str = data .get ('region' )
184
203
self .timezone : str = data .get ('time_zone' )
185
- self .apis : Dict [ str , str ] = data .get ('apis' )
204
+ self .apis : Proxy = Proxy ( data .get ('apis' ) )
186
205
self .raw : dict = data
187
206
188
207
189
208
class Currency :
190
209
def __init__ (self , data : dict ):
191
210
self .value : float = data .get ('value' )
192
211
self .pretty : str = data .get ('pretty' )
212
+ self .raw : dict = data
0 commit comments