api: Fix bug when "unique_streams" returned incorrect dict

This commit is contained in:
Alex Vanin 2020-05-16 16:04:34 +03:00
parent e53f7f02c5
commit b37827b91d
2 changed files with 5 additions and 9 deletions

11
main.py
View file

@ -84,21 +84,16 @@ class FleastServer(object):
_version_=ver)
cherrypy.log('Found %d streams' % data['_total'])
uniq_streams = []
streams = sorted(data['streams'], key=lambda k: k['viewer_count'])
result_str = ''
irl_url = 'https://twitch.tv/{}'
for s in streams:
if s['user_name'] not in uniq_streams:
uniq_streams.append(s['user_name'])
result_str += self.templ_stream.format(irl_url.format(s['user_name']),
for s in data['streams']:
result_str += self.templ_stream.format(irl_url.format(s['user_name']),
s['thumbnail_url'].format(width=320, height=180),
self.to_html(s['title']),
s['user_name'],
s['viewer_count']) + '\n'
return self.templ_main.format(_stream_num_=len(streams),
return self.templ_main.format(_stream_num_=len(data['streams']),
_game_name_=game,
_opt_langs_=self.set_templ_lang(lang),
_stream_list_=result_str,

View file

@ -188,9 +188,10 @@ class TwitchClient:
def unique_streams_v6(self, result):
uniq_streams = []
streams = sorted(result['streams'], key=lambda k: k['viewer_count'])
result['streams']=[]
for s in streams:
if s['user_name'] not in uniq_streams:
uniq_streams.append(s['user_name'])
result['streams'] = uniq_streams
result['streams'].append(s)
result['_total'] = len(result['streams'])
return result