Compare commits

...

2 commits

Author SHA1 Message Date
j
a0f3f411c3 cast order to int 2018-04-21 17:28:08 +01:00
j
4c4c61bf4c remove no longer existing tags 2018-04-21 17:13:02 +01:00

View file

@ -127,7 +127,8 @@ class Engine:
return [{ return [{
'clips': video['clips'], 'clips': video['clips'],
'position': random.randrange(len(video['clips'])), 'position': random.randrange(len(video['clips'])),
'name': video['name'] 'name': video['name'],
'tags': video['tags'],
} for video in videos] } for video in videos]
def update_state(self, data): def update_state(self, data):
@ -179,11 +180,11 @@ class Engine:
videos = sorted(videos_ + [ videos = sorted(videos_ + [
self.pandora.get(id, ['code', 'id', 'order', 'title']) self.pandora.get(id, ['code', 'id', 'order', 'title'])
for id in ids if not id in ids_ for id in ids if not id in ids_
], key=lambda video: video['order']) ], key=lambda video: int(video['order']))
with open(filename, 'w') as f: with open(filename, 'w') as f:
f.write(json.dumps(videos, indent=4, sort_keys=True)) f.write(json.dumps(videos, indent=4, sort_keys=True))
# Get video order # Get video order
order = {video['id']: video['order'] for video in videos} order = {video['id']: int(video['order']) for video in videos}
# Sort clips # Sort clips
clips = sorted( clips = sorted(
clips, clips,
@ -210,15 +211,20 @@ class Engine:
if 'globalKeywords' not in self.state: if 'globalKeywords' not in self.state:
self.state['globalKeywords'] = {} self.state['globalKeywords'] = {}
changed = True changed = True
existing_tags = set()
for playlist in self.playlists: for playlist in self.playlists:
for tag in playlist.get('tags', []): for tag in playlist.get('tags', []):
if not tag.isupper() and tag:
existing_tags.add(tag)
if not tag.isupper() and tag not in self.state['globalKeywords']: if not tag.isupper() and tag not in self.state['globalKeywords']:
self.state['globalKeywords'][tag] = {'value': 0} self.state['globalKeywords'][tag] = {'value': 0}
changed = True changed = True
for tag in set(self.state['globalKeywords']) - existing_tags:
del self.state['globalKeywords'][tag]
changed = True
if changed: if changed:
self.save_state() self.save_state()
@run_async @run_async
def update_async(self): def update_async(self):
self.update() self.update()