Added check for family account list overflow

This commit is contained in:
RemixDev 2020-05-30 19:24:47 +02:00
parent 11d401c23f
commit 8af6c63417
1 changed files with 33 additions and 11 deletions

View File

@ -25,6 +25,7 @@ class Deezer:
self.user = {} self.user = {}
self.family = False self.family = False
self.childs = [] self.childs = []
self.selectedAccount = 0
self.session = requests.Session() self.session = requests.Session()
self.logged_in = False self.logged_in = False
self.session.post("http://www.deezer.com/", headers=self.http_headers) self.session.post("http://www.deezer.com/", headers=self.http_headers)
@ -114,11 +115,21 @@ class Deezer:
self.family = user_data["results"]["USER"]["MULTI_ACCOUNT"]["ENABLED"] self.family = user_data["results"]["USER"]["MULTI_ACCOUNT"]["ENABLED"]
if self.family: if self.family:
self.childs = self.get_child_accounts_gw() self.childs = self.get_child_accounts_gw()
self.user = { if len(self.childs)-1 >= child:
'id': self.childs[child]["USER_ID"], self.user = {
'name': self.childs[child]["BLOG_NAME"], 'id': self.childs[child]["USER_ID"],
'picture': self.childs[child]["USER_PICTURE"] if "USER_PICTURE" in self.childs[child] else "" 'name': self.childs[child]["BLOG_NAME"],
} 'picture': self.childs[child]["USER_PICTURE"] if "USER_PICTURE" in self.childs[child] else ""
}
self.selectedAccount = child
else:
self.user = {
'id': user_data["results"]["USER"]["USER_ID"],
'name': user_data["results"]["USER"]["BLOG_NAME"],
'picture': user_data["results"]["USER"]["USER_PICTURE"] if "USER_PICTURE" in user_data["results"][
"USER"] else ""
}
self.selectedAccount = 0
else: else:
self.user = { self.user = {
'id': user_data["results"]["USER"]["USER_ID"], 'id': user_data["results"]["USER"]["USER_ID"],
@ -146,11 +157,21 @@ class Deezer:
self.family = user_data["results"]["USER"]["MULTI_ACCOUNT"]["ENABLED"] self.family = user_data["results"]["USER"]["MULTI_ACCOUNT"]["ENABLED"]
if self.family: if self.family:
self.childs = self.get_child_accounts_gw() self.childs = self.get_child_accounts_gw()
self.user = { if len(self.childs)-1 >= child:
'id': self.childs[child]["USER_ID"], self.user = {
'name': self.childs[child]["BLOG_NAME"], 'id': self.childs[child]["USER_ID"],
'picture': self.childs[child]["USER_PICTURE"] if "USER_PICTURE" in self.childs[child] else "" 'name': self.childs[child]["BLOG_NAME"],
} 'picture': self.childs[child]["USER_PICTURE"] if "USER_PICTURE" in self.childs[child] else ""
}
self.selectedAccount = child
else:
self.user = {
'id': user_data["results"]["USER"]["USER_ID"],
'name': user_data["results"]["USER"]["BLOG_NAME"],
'picture': user_data["results"]["USER"]["USER_PICTURE"] if "USER_PICTURE" in user_data["results"][
"USER"] else ""
}
self.selectedAccount = 0
else: else:
self.user = { self.user = {
'id': user_data["results"]["USER"]["USER_ID"], 'id': user_data["results"]["USER"]["USER_ID"],
@ -168,7 +189,8 @@ class Deezer:
'name': self.childs[child]["BLOG_NAME"], 'name': self.childs[child]["BLOG_NAME"],
'picture': self.childs[child]["USER_PICTURE"] if "USER_PICTURE" in self.childs[child] else "" 'picture': self.childs[child]["USER_PICTURE"] if "USER_PICTURE" in self.childs[child] else ""
} }
return self.user self.selectedAccount = child
return (self.user, self.selectedAccount)
def get_child_accounts_gw(self): def get_child_accounts_gw(self):
return self.gw_api_call('deezer.getChildAccounts')['results'] return self.gw_api_call('deezer.getChildAccounts')['results']