def handle(self, date, today, list_days, all_days, *args, **options): if list_days: print "List of available days: " for day in Days.objects.all(): print str(day.date) print "Total days: %s" % Days.objects.count() return if today: print "Generates plailist for today %s ..." % datetime.datetime.now( ).strftime("%Y-%m-%d") try: day = Days.objects.get(date=datetime.datetime.now()) except Days.DoesNotExist: print "Day %s does not exist" % date return else: generator = PlaylistGenerator(day=day) generator.run() print "\nGeneration successfully completed" return if all_days: print "Generates plailist for all days..." for day in Days.objects.all(): PlaylistGenerator(day=day).run() print "Generate for %s" % str(day.date) print "The generation is completed. Total days: %s" % Days.objects.count( ) return if not date or not RE_DATE.match(date): print "Error! Enter the date in the format YYYY-MM-DD" return dateo = datetime.datetime.strptime(date, "%Y-%m-%d") try: day = Days.objects.get(date=dateo) except Days.DoesNotExist: print "Day %s does not exist" % date print "List of available days: " for day in Days.objects.all(): print str(day.date) return else: generator = PlaylistGenerator(day=day) generator.run() print "\nGeneration successfully completed"
def handle(self, date, today, list_days, all_days, *args, **options): if list_days: print "List of available days: " for day in Days.objects.all(): print str(day.date) print "Total days: %s" % Days.objects.count() return if today: print "Generates plailist for today %s ..." % datetime.datetime.now().strftime("%Y-%m-%d") try: day = Days.objects.get(date=datetime.datetime.now()) except Days.DoesNotExist: print "Day %s does not exist" % date return else: generator = PlaylistGenerator(day=day) generator.run() print "\nGeneration successfully completed" return if all_days: print "Generates plailist for all days..." for day in Days.objects.all(): PlaylistGenerator(day=day).run() print "Generate for %s" % str(day.date) print "The generation is completed. Total days: %s" % Days.objects.count() return if not date or not RE_DATE.match(date): print "Error! Enter the date in the format YYYY-MM-DD" return dateo = datetime.datetime.strptime(date, "%Y-%m-%d") try: day = Days.objects.get(date=dateo) except Days.DoesNotExist: print "Day %s does not exist" % date print "List of available days: " for day in Days.objects.all(): print str(day.date) return else: generator = PlaylistGenerator(day=day) generator.run() print "\nGeneration successfully completed"
def test_generate_timetable(self): # Create models terminal = Terminal(text='description', config='config test') terminal.save() # Create partner partner = Partner(name='test name') partner.save() # Create image image = ImageAd(prolongation=datetime.time(minute=5), partner=partner, image=FileObject(os.path.join(site.directory, "test", "testimage.jpg"))) image.save() # Create image for immediately image_im = ImageAd(prolongation=datetime.time(minute=1), partner=partner, image=FileObject(os.path.join(site.directory, "test", "testimage_im.jpg"))) image_im.save() # Create text text = TextAd(text='test text...', partner=partner) text.save() # Create day day = Days(date=datetime.datetime.now(), video_count=2, show_text=True, text_count=4, show_video=False, start_time=datetime.time(hour=8), stop_time=datetime.time(hour=8, minute=30), terminal=terminal) day.save() day.image_ad.add(image) day.text_ad.add(text) day.save() # Create immediately immediately = ImmediatelyAd(day=day, time=datetime.time(hour=8, minute=25), content_type=ContentType.objects.get(model='imagead'), object_id=image_im.pk) immediately.save() # Result playlists in json result_playlist = [ {'time': '08:00:00', 'params': [ {'image': image.image.filename}, {'image': image.image.filename}, {'text': text.text}, {'text': text.text}, {'text': text.text}, {'text': text.text} ]}, {'time': '08:10:00', 'params': [ {'image': image.image.filename}, {'image': image.image.filename}, {'text': text.text}, {'text': text.text}, {'text': text.text}, {'text': text.text} ]}, {'time': '08:20:00', 'params': [ {'image': image.image.filename}, {'image': image.image.filename}, {'text': text.text}, {'text': text.text}, {'text': text.text}, {'text': text.text} ]}, {'time': '08:25:00', 'params': [ {'image': immediately.content_object.image.filename}, ]}, {'time': '08:26:00', 'params': [ {'image': image.image.filename}, {'image': image.image.filename}, {'text': text.text}, {'text': text.text}, {'text': text.text}, {'text': text.text} ]} ] # Generate play list g = PlaylistGenerator(day=day) playlist = g.get_play_list() self.assertEqual(json.dumps(playlist), json.dumps(result_playlist))