Esempio n. 1
0
def episode_request():
    return (Episode.select(Episode,
                           Season.season_number,
                           Show.name.alias('show_name'),
                           Show.id.alias('show_id'),
                           fn.REPLACE(fn.REPLACE(Episode.path, configurator.get()['settings']['search_path'], ''),
                                      '\\', '/').alias('url'))
            .join(Season)
            .join(Show)
            .dicts())
Esempio n. 2
0
    def update_model():

        db_ = list()
        for episode in Episode.select():
            db_.append(episode.path)

        searchpath = configurator.get()['settings']['search_path']

        finder = FileFinder([searchpath], db_, ("mkv", "avi", "mp4"))
        for episode_info in finder.find():
            ModelManager.merge_episode(episode_info)
Esempio n. 3
0
    def update_subtitles():

        languages = {'eng', 'fra'}

        for episode in Episode.select().where(Episode.episode_state == PlayState.NOT_WATCHED):

            existing_subs = episode.subtitles
            if not languages.issubset(existing_subs):
                new_subs = get_subs(episode.path, languages)
                if new_subs:
                    episode.subtitles = existing_subs.union(new_subs)
                    episode.save()
                    print('Found subtitles"' + str(new_subs) + ' for episode "' + episode.path + '"')