Skip to content

Commit 9ca989e

Browse files
authored
Merge pull request #16 from uKaigo/master
Add missing attributes
2 parents b211031 + dd31701 commit 9ca989e

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed

ksoftapi/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
__author__ = 'AndyTempel'
99
__license__ = 'GNU'
1010
__copyright__ = 'Copyright 2018-2020 AndyTempel'
11-
__version__ = '0.3.3a'
11+
__version__ = '0.4.0'
1212

1313
import logging
1414
from collections import namedtuple

ksoftapi/models.py

+21-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,21 @@
11
from typing import Dict, List, Optional
22

33

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+
419
class BanInfo:
520
def __init__(self, data: dict):
621
self.id: str = data['id']
@@ -61,6 +76,8 @@ def __init__(self, data: dict):
6176
self.search_str: str = data['search_str']
6277
self.album_art: str = data['album_art']
6378
self.popularity: int = data['popularity']
79+
self.singalong: List[dict] = data['singalong']
80+
self.meta: Proxy = Proxy(data['meta'])
6481
self.id: str = data['id']
6582
self.search_score: float = data['search_score']
6683
self.url: str = data['url']
@@ -93,6 +110,7 @@ def __init__(self, data: dict):
93110
self.youtube_link: str = youtube['link']
94111
self.youtube_title: str = youtube['title']
95112
self.youtube_thumbnail: str = youtube['thumbnail']
113+
self.youtube_description: str = youtube['description']
96114

97115
self.spotify_id: str = spotify['id']
98116
self.spotify_name: str = spotify['name']
@@ -119,6 +137,7 @@ def __init__(self, data: dict):
119137
self.comments: int = data.get('comments')
120138
self.created_at: int = data.get('created_at')
121139
self.nsfw: bool = data.get('nsfw')
140+
self.awards: int = data.get('awards')
122141
self.raw: dict = data
123142

124143

@@ -182,11 +201,12 @@ def __init__(self, data: dict):
182201
self.postal_code: str = data.get('postal_code')
183202
self.region: str = data.get('region')
184203
self.timezone: str = data.get('time_zone')
185-
self.apis: Dict[str, str] = data.get('apis')
204+
self.apis: Proxy = Proxy(data.get('apis'))
186205
self.raw: dict = data
187206

188207

189208
class Currency:
190209
def __init__(self, data: dict):
191210
self.value: float = data.get('value')
192211
self.pretty: str = data.get('pretty')
212+
self.raw: dict = data

0 commit comments

Comments
 (0)