From 4c4c61bf4cef71961753746ffd4e86c50c387459 Mon Sep 17 00:00:00 2001 From: j Date: Sat, 21 Apr 2018 17:13:02 +0100 Subject: [PATCH 1/2] remove no longer existing tags --- recommendation_engine.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/recommendation_engine.py b/recommendation_engine.py index 207a03f..17b9372 100644 --- a/recommendation_engine.py +++ b/recommendation_engine.py @@ -127,7 +127,8 @@ class Engine: return [{ 'clips': video['clips'], 'position': random.randrange(len(video['clips'])), - 'name': video['name'] + 'name': video['name'], + 'tags': video['tags'], } for video in videos] def update_state(self, data): @@ -210,15 +211,20 @@ class Engine: if 'globalKeywords' not in self.state: self.state['globalKeywords'] = {} changed = True + existing_tags = set() for playlist in self.playlists: 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']: self.state['globalKeywords'][tag] = {'value': 0} changed = True + for tag in set(self.state['globalKeywords']) - existing_tags: + del self.state['globalKeywords'][tag] + changed = True if changed: self.save_state() - @run_async def update_async(self): self.update() From a0f3f411c310742b442c69e59e620cd42522a44e Mon Sep 17 00:00:00 2001 From: j Date: Sat, 21 Apr 2018 17:28:08 +0100 Subject: [PATCH 2/2] cast order to int --- recommendation_engine.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recommendation_engine.py b/recommendation_engine.py index 17b9372..023bbe4 100644 --- a/recommendation_engine.py +++ b/recommendation_engine.py @@ -180,11 +180,11 @@ class Engine: videos = sorted(videos_ + [ self.pandora.get(id, ['code', 'id', 'order', 'title']) 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: f.write(json.dumps(videos, indent=4, sort_keys=True)) # Get video order - order = {video['id']: video['order'] for video in videos} + order = {video['id']: int(video['order']) for video in videos} # Sort clips clips = sorted( clips,