mirror of
https://github.com/FakeTV/pseudo-channel.git
synced 2026-01-02 08:13:16 +00:00
Merge branch 'develop'
This commit is contained in:
277
PseudoChannel.py
277
PseudoChannel.py
@@ -406,6 +406,18 @@ class PseudoChannel():
|
||||
|
||||
schedule = self.db.get_schedule()
|
||||
|
||||
weekday_dict = {
|
||||
"0" : ["mondays", "weekdays", "everyday"],
|
||||
"1" : ["tuesdays", "weekdays", "everyday"],
|
||||
"2" : ["wednesdays", "weekdays", "everyday"],
|
||||
"3" : ["thursdays", "weekdays", "everyday"],
|
||||
"4" : ["fridays", "weekdays", "everyday"],
|
||||
"5" : ["saturdays", "weekends", "everyday"],
|
||||
"6" : ["sundays", "weekends", "everyday"],
|
||||
}
|
||||
|
||||
weekno = datetime.datetime.today().weekday()
|
||||
|
||||
schedule_advance_watcher = 0
|
||||
|
||||
for entry in schedule:
|
||||
@@ -414,185 +426,194 @@ class PseudoChannel():
|
||||
|
||||
section = entry[9]
|
||||
|
||||
if section == "TV Shows":
|
||||
for key, val in weekday_dict.iteritems():
|
||||
|
||||
if entry[3] == "random":
|
||||
try:
|
||||
|
||||
next_episode = self.db.get_random_episode()
|
||||
if str(entry[7]) in str(val) and int(weekno) == int(key):
|
||||
|
||||
else:
|
||||
if section == "TV Shows":
|
||||
|
||||
next_episode = self.db.get_next_episode(entry[3])
|
||||
if entry[3] == "random":
|
||||
|
||||
if next_episode != None:
|
||||
|
||||
episode = Episode(
|
||||
section, # section_type
|
||||
next_episode[3], # title
|
||||
entry[5], # natural_start_time
|
||||
self.get_end_time_from_duration(entry[5], next_episode[4]), # natural_end_time
|
||||
next_episode[4], # duration
|
||||
entry[7], # day_of_week
|
||||
entry[10], # is_strict_time
|
||||
entry[11], # time_shift
|
||||
entry[12], # overlap_max
|
||||
entry[3], # show_series_title
|
||||
next_episode[5], # episode_number
|
||||
next_episode[6] # season_number
|
||||
)
|
||||
next_episode = self.db.get_random_episode()
|
||||
|
||||
self.MEDIA.append(episode)
|
||||
else:
|
||||
|
||||
else:
|
||||
next_episode = self.db.get_next_episode(entry[3])
|
||||
|
||||
print("Cannot find TV Show Episode, {} in the local db".format(entry[3]))
|
||||
if next_episode != None:
|
||||
|
||||
episode = Episode(
|
||||
section, # section_type
|
||||
next_episode[3], # title
|
||||
entry[5], # natural_start_time
|
||||
self.get_end_time_from_duration(entry[5], next_episode[4]), # natural_end_time
|
||||
next_episode[4], # duration
|
||||
entry[7], # day_of_week
|
||||
entry[10], # is_strict_time
|
||||
entry[11], # time_shift
|
||||
entry[12], # overlap_max
|
||||
entry[3], # show_series_title
|
||||
next_episode[5], # episode_number
|
||||
next_episode[6] # season_number
|
||||
)
|
||||
|
||||
#print(episode)
|
||||
self.MEDIA.append(episode)
|
||||
|
||||
elif section == "Movies":
|
||||
else:
|
||||
|
||||
if entry[3] == "random":
|
||||
print("Cannot find TV Show Episode, {} in the local db".format(entry[3]))
|
||||
|
||||
the_movie = self.db.get_random_movie()
|
||||
print("here")
|
||||
#print(episode)
|
||||
|
||||
else:
|
||||
elif section == "Movies":
|
||||
|
||||
the_movie = self.db.get_movie(entry[3])
|
||||
if entry[3] == "random":
|
||||
|
||||
if the_movie != None:
|
||||
the_movie = self.db.get_random_movie()
|
||||
|
||||
movie = Movie(
|
||||
section, # section_type
|
||||
the_movie[3], # title
|
||||
entry[5], # natural_start_time
|
||||
self.get_end_time_from_duration(entry[5], the_movie[4]), # natural_end_time
|
||||
the_movie[4], # duration
|
||||
entry[7], # day_of_week
|
||||
entry[10], # is_strict_time
|
||||
entry[11], # time_shift
|
||||
entry[12] # overlap_max
|
||||
)
|
||||
else:
|
||||
|
||||
#print(movie.natural_end_time)
|
||||
the_movie = self.db.get_movie(entry[3])
|
||||
|
||||
self.MEDIA.append(movie)
|
||||
if the_movie != None:
|
||||
|
||||
else:
|
||||
movie = Movie(
|
||||
section, # section_type
|
||||
the_movie[3], # title
|
||||
entry[5], # natural_start_time
|
||||
self.get_end_time_from_duration(entry[5], the_movie[4]), # natural_end_time
|
||||
the_movie[4], # duration
|
||||
entry[7], # day_of_week
|
||||
entry[10], # is_strict_time
|
||||
entry[11], # time_shift
|
||||
entry[12] # overlap_max
|
||||
)
|
||||
|
||||
print("Cannot find Movie, {} in the local db".format(entry[3]))
|
||||
#print(movie.natural_end_time)
|
||||
|
||||
elif section == "Music":
|
||||
self.MEDIA.append(movie)
|
||||
|
||||
the_music = self.db.get_music(entry[3])
|
||||
else:
|
||||
|
||||
if the_music != None:
|
||||
print("Cannot find Movie, {} in the local db".format(entry[3]))
|
||||
|
||||
music = Music(
|
||||
section, # section_type
|
||||
the_music[3], # title
|
||||
entry[5], # natural_start_time
|
||||
self.get_end_time_from_duration(entry[5], the_music[4]), # natural_end_time
|
||||
the_music[4], # duration
|
||||
entry[7], # day_of_week
|
||||
entry[10], # is_strict_time
|
||||
entry[11], # time_shift
|
||||
entry[12] # overlap_max
|
||||
)
|
||||
elif section == "Music":
|
||||
|
||||
#print(music.natural_end_time)
|
||||
the_music = self.db.get_music(entry[3])
|
||||
|
||||
self.MEDIA.append(music)
|
||||
if the_music != None:
|
||||
|
||||
else:
|
||||
music = Music(
|
||||
section, # section_type
|
||||
the_music[3], # title
|
||||
entry[5], # natural_start_time
|
||||
self.get_end_time_from_duration(entry[5], the_music[4]), # natural_end_time
|
||||
the_music[4], # duration
|
||||
entry[7], # day_of_week
|
||||
entry[10], # is_strict_time
|
||||
entry[11], # time_shift
|
||||
entry[12] # overlap_max
|
||||
)
|
||||
|
||||
print("Cannot find Music, {} in the local db".format(entry[3]))
|
||||
#print(music.natural_end_time)
|
||||
|
||||
elif section == "Video":
|
||||
self.MEDIA.append(music)
|
||||
|
||||
the_video = self.db.get_video(entry[3])
|
||||
else:
|
||||
|
||||
if the_music != None:
|
||||
print("Cannot find Music, {} in the local db".format(entry[3]))
|
||||
|
||||
video = Video(
|
||||
section, # section_type
|
||||
the_video[3], # title
|
||||
entry[5], # natural_start_time
|
||||
self.get_end_time_from_duration(entry[5], the_video[4]), # natural_end_time
|
||||
the_video[4], # duration
|
||||
entry[7], # day_of_week
|
||||
entry[10], # is_strict_time
|
||||
entry[11], # time_shift
|
||||
entry[12] # overlap_max
|
||||
)
|
||||
elif section == "Video":
|
||||
|
||||
#print(music.natural_end_time)
|
||||
the_video = self.db.get_video(entry[3])
|
||||
|
||||
self.MEDIA.append(video)
|
||||
if the_music != None:
|
||||
|
||||
else:
|
||||
video = Video(
|
||||
section, # section_type
|
||||
the_video[3], # title
|
||||
entry[5], # natural_start_time
|
||||
self.get_end_time_from_duration(entry[5], the_video[4]), # natural_end_time
|
||||
the_video[4], # duration
|
||||
entry[7], # day_of_week
|
||||
entry[10], # is_strict_time
|
||||
entry[11], # time_shift
|
||||
entry[12] # overlap_max
|
||||
)
|
||||
|
||||
print("Cannot find Video, {} in the local db".format(entry[3]))
|
||||
#print(music.natural_end_time)
|
||||
|
||||
else:
|
||||
self.MEDIA.append(video)
|
||||
|
||||
pass
|
||||
else:
|
||||
|
||||
"""If we reached the end of the schedule we are ready to kick off the daily_schedule
|
||||
|
||||
"""
|
||||
if schedule_advance_watcher >= len(schedule):
|
||||
|
||||
previous_episode = None
|
||||
|
||||
self.db.remove_all_daily_scheduled_items()
|
||||
|
||||
for entry in self.MEDIA:
|
||||
|
||||
#print entry.natural_end_time
|
||||
|
||||
if previous_episode != None:
|
||||
|
||||
natural_start_time = datetime.datetime.strptime(entry.natural_start_time, '%I:%M %p')
|
||||
|
||||
natural_end_time = entry.natural_end_time
|
||||
|
||||
if entry.is_strict_time.lower() == "true":
|
||||
|
||||
print "++++ Strict-time: {}".format(entry.title)
|
||||
|
||||
entry.end_time = self.get_end_time_from_duration(entry.start_time, entry.duration)
|
||||
|
||||
self.db.add_media_to_daily_schedule(entry)
|
||||
|
||||
previous_episode = entry
|
||||
print("Cannot find Video, {} in the local db".format(entry[3]))
|
||||
|
||||
else:
|
||||
|
||||
print "++++ NOT strict-time: {}".format(entry.title)
|
||||
pass
|
||||
|
||||
new_starttime = self.calculate_start_time(
|
||||
previous_episode.end_time,
|
||||
entry.natural_start_time,
|
||||
previous_episode.time_shift,
|
||||
previous_episode.overlap_max
|
||||
)
|
||||
"""If we reached the end of the schedule we are ready to kick off the daily_schedule
|
||||
|
||||
print "++++ New start time:", new_starttime
|
||||
"""
|
||||
if schedule_advance_watcher >= len(schedule):
|
||||
|
||||
entry.start_time = datetime.datetime.strptime(new_starttime, '%I:%M %p').strftime('%-I:%M %p')
|
||||
previous_episode = None
|
||||
|
||||
entry.end_time = self.get_end_time_from_duration(entry.start_time, entry.duration)
|
||||
self.db.remove_all_daily_scheduled_items()
|
||||
|
||||
self.db.add_media_to_daily_schedule(entry)
|
||||
for entry in self.MEDIA:
|
||||
|
||||
previous_episode = entry
|
||||
#print entry.natural_end_time
|
||||
|
||||
else:
|
||||
if previous_episode != None:
|
||||
|
||||
self.db.add_media_to_daily_schedule(entry)
|
||||
natural_start_time = datetime.datetime.strptime(entry.natural_start_time, '%I:%M %p')
|
||||
|
||||
previous_episode = entry
|
||||
natural_end_time = entry.natural_end_time
|
||||
|
||||
if entry.is_strict_time.lower() == "true":
|
||||
|
||||
print "++++ Strict-time: {}".format(entry.title)
|
||||
|
||||
entry.end_time = self.get_end_time_from_duration(entry.start_time, entry.duration)
|
||||
|
||||
self.db.add_media_to_daily_schedule(entry)
|
||||
|
||||
previous_episode = entry
|
||||
|
||||
else:
|
||||
|
||||
print "++++ NOT strict-time: {}".format(entry.title)
|
||||
|
||||
new_starttime = self.calculate_start_time(
|
||||
previous_episode.end_time,
|
||||
entry.natural_start_time,
|
||||
previous_episode.time_shift,
|
||||
previous_episode.overlap_max
|
||||
)
|
||||
|
||||
print "++++ New start time:", new_starttime
|
||||
|
||||
entry.start_time = datetime.datetime.strptime(new_starttime, '%I:%M %p').strftime('%-I:%M %p')
|
||||
|
||||
entry.end_time = self.get_end_time_from_duration(entry.start_time, entry.duration)
|
||||
|
||||
self.db.add_media_to_daily_schedule(entry)
|
||||
|
||||
previous_episode = entry
|
||||
|
||||
else:
|
||||
|
||||
self.db.add_media_to_daily_schedule(entry)
|
||||
|
||||
previous_episode = entry
|
||||
|
||||
except TypeError as e:
|
||||
|
||||
pass
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
|
||||
@@ -5,12 +5,42 @@
|
||||
<wednesdays></wednesdays>
|
||||
<thursdays></thursdays>
|
||||
<fridays>
|
||||
<time title="Looney Tunes" type="series" strict-time="true" time-shift="1" overlap-max="">12:25 PM</time>
|
||||
<time title="Looney Tunes" type="series" strict-time="true" time-shift="1" overlap-max="">12:30 AM</time>
|
||||
</fridays>
|
||||
<saturdays></saturdays>
|
||||
<saturdays>
|
||||
|
||||
<time title="Looney Tunes" type="series" strict-time="false" time-shift="1" overlap-max="">6:00 AM</time>
|
||||
<time title="Looney Tunes" type="series" strict-time="false" time-shift="1" overlap-max="">6:30 AM</time>
|
||||
<time title="Looney Tunes" type="series" strict-time="false" time-shift="1" overlap-max="">7:00 AM</time>
|
||||
<time title="Looney Tunes" type="series" strict-time="false" time-shift="1" overlap-max="">7:30 AM</time>
|
||||
|
||||
<time title="Garfield & Friends" type="series" strict-time="false" time-shift="5" overlap-max="">8:00 AM</time>
|
||||
<time title="Garfield & Friends" type="series" strict-time="false" time-shift="5" overlap-max="">8:30 AM</time>
|
||||
<time title="Garfield & Friends" type="series" strict-time="false" time-shift="5" overlap-max="">9:00 AM</time>
|
||||
<time title="Garfield & Friends" type="series" strict-time="false" time-shift="5" overlap-max="">9:30 AM</time>
|
||||
|
||||
<time title="talespin" type="series" strict-time="false" time-shift="5" overlap-max="">10:00 AM</time>
|
||||
<time title="talespin" type="series" strict-time="false" time-shift="5" overlap-max="">10:30 AM</time>
|
||||
|
||||
<time title="random" type="movie" strict-time="false" time-shift="5" overlap-max="">11:06 PM</time>
|
||||
<time title="random" type="movie" strict-time="false" time-shift="5" overlap-max="">2:00 PM</time>
|
||||
<time title="random" type="movie" strict-time="false" time-shift="5" overlap-max="">4:06 PM</time>
|
||||
<time title="random" type="movie" strict-time="false" time-shift="5" overlap-max="">6:06 PM</time>
|
||||
<time title="random" type="movie" strict-time="false" time-shift="5" overlap-max="">8:06 PM</time>
|
||||
<time title="random" type="movie" strict-time="false" time-shift="5" overlap-max="">10:06 PM</time>
|
||||
<time title="random" type="movie" strict-time="false" time-shift="5" overlap-max="">11:06 PM</time>
|
||||
|
||||
<time title="talespin" type="series" strict-time="false" time-shift="5" overlap-max="">11:30 PM</time>
|
||||
|
||||
</saturdays>
|
||||
<sundays></sundays>
|
||||
<weekends></weekends>
|
||||
<everyday></everyday>
|
||||
<everyday>
|
||||
<time title="Looney Tunes" type="series" strict-time="false" time-shift="1" overlap-max="">6:00 AM</time>
|
||||
<time title="Looney Tunes" type="series" strict-time="false" time-shift="1" overlap-max="">6:30 AM</time>
|
||||
<time title="Looney Tunes" type="series" strict-time="false" time-shift="1" overlap-max="">7:00 AM</time>
|
||||
<time title="Looney Tunes" type="series" strict-time="false" time-shift="1" overlap-max="">7:30 AM</time>
|
||||
</everyday>
|
||||
<weekdays>
|
||||
<default title="Seinfeld" type="series" ></default>
|
||||
<time title="Looney Tunes" type="series" strict-time="false" time-shift="1" overlap-max="">6:00 AM</time>
|
||||
@@ -19,9 +49,9 @@
|
||||
<time title="Looney Tunes" type="series" strict-time="false" time-shift="1" overlap-max="">7:30 AM</time>
|
||||
|
||||
<time title="Garfield & Friends" type="series" strict-time="false" time-shift="5" overlap-max="">8:00 AM</time>
|
||||
<time title="Garfield & Friends" type="series" strict-time="false" time-shift="5" overlap-max="">8:30 AM</time>
|
||||
<time title="Garfield & Friends" type="series" strict-time="false" time-shift="5" overlap-max="">9:00 AM</time>
|
||||
<time title="Garfield & Friends" type="series" strict-time="false" time-shift="5" overlap-max="">9:30 AM</time>
|
||||
<time title="Garfield & Friends" type="series" strict-time="false" time-shift="5" overlap-max="">8:30 AM</time>
|
||||
<time title="Garfield & Friends" type="series" strict-time="false" time-shift="5" overlap-max="">9:00 AM</time>
|
||||
<time title="Garfield & Friends" type="series" strict-time="false" time-shift="5" overlap-max="">9:30 AM</time>
|
||||
|
||||
<time title="talespin" type="series" strict-time="false" time-shift="5" overlap-max="">10:00 AM</time>
|
||||
<time title="talespin" type="series" strict-time="false" time-shift="5" overlap-max="">10:30 AM</time>
|
||||
@@ -53,10 +83,8 @@
|
||||
<time title="new girl" type="series" strict-time="false" time-shift="5" overlap-max="">7:00 PM</time>
|
||||
<time title="new girl" type="series" strict-time="false" time-shift="5" overlap-max="">7:30 PM</time>
|
||||
|
||||
<time title="random" type="movie" strict-time="true" time-shift="5" overlap-max="">7:16 PM</time>
|
||||
|
||||
<time title="the trip" type="series" strict-time="false" time-shift="5" overlap-max="">8:30 PM</time>
|
||||
<time title="the trip" type="series" strict-time="false" time-shift="5" overlap-max="">8:30 PM</time>
|
||||
<time title="the trip" type="series" strict-time="false" time-shift="5" overlap-max="">9:00 PM</time>
|
||||
<time title="the wire" type="series" strict-time="false" time-shift="5" overlap-max="">9:30 PM</time>
|
||||
</weekdays>
|
||||
</schedule>
|
||||
|
||||
@@ -320,7 +320,7 @@ class PseudoDailyScheduleController():
|
||||
timeB,
|
||||
self.get_show_photo(
|
||||
row[11],
|
||||
row[3]
|
||||
row[6] if row[11] == "TV Shows" else row[3]
|
||||
),
|
||||
datalist
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user