summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--program/management/commands/check_automation_ids.py39
1 files changed, 24 insertions, 15 deletions
diff --git a/program/management/commands/check_automation_ids.py b/program/management/commands/check_automation_ids.py
index be57ae2..95c35cb 100644
--- a/program/management/commands/check_automation_ids.py
+++ b/program/management/commands/check_automation_ids.py
@@ -14,22 +14,31 @@ class Command(NoArgsCommand):
cache_dir = getattr(settings, 'AUTOMATION_CACHE_DIR', 'cache')
cached_shows = join(cache_dir, 'shows.json')
with open(cached_shows) as shows_json:
- shows = json.loads(shows_json.read())['shows']
+ shows = json.loads(shows_json.read())
- automation_ids = []
- for show in shows:
- automation_ids.append(show['id'])
- automation_ids.sort()
+ rd_ids = {}
+ for show in shows['shows']:
+ rd_ids[show['id']] = show
+ for show in shows['multi-shows']:
+ rd_ids[show['id']] = show
- automation_ids2 = []
+ pv_ids = []
for programslot in ProgramSlot.objects.filter(automation_id__isnull=False):
- automation_ids2.append(int(programslot.automation_id))
- automation_ids2.sort()
-
- for automation_id in automation_ids:
- if automation_id not in automation_ids2:
- print '+', automation_id
-
- for automation_id in automation_ids2:
- if automation_id not in automation_ids:
+ pv_ids.append(int(programslot.automation_id))
+
+ for automation_id in sorted(rd_ids.iterkeys()):
+ if rd_ids[automation_id]['type'] == 's':
+ continue
+
+ multi_id = -1
+ if 'multi' in rd_ids[automation_id]:
+ multi_id = rd_ids[automation_id]['multi']['id']
+ if automation_id not in pv_ids and multi_id not in pv_ids:
+ if multi_id < 0:
+ print '+ %d' % (automation_id)
+ else:
+ print '+ %d (%d)' % (automation_id, multi_id)
+
+ for automation_id in sorted(pv_ids):
+ if automation_id not in rd_ids:
print '-', automation_id