Ejemplo n.º 1
0
    def __init__(self, version, app_quit, update_source):
        super(MainUI, self).__init__()
        self.app_quit = app_quit
        self.finished = False
        self.version = version
        self.update_source = update_source
        self.downloaders = {}
        self.setWindowTitle('Encuentro')

        self.programs_data = data.ProgramsData(self, self._programs_file)
        self._touch_config()

        # finish all gui stuff
        self.big_panel = central_panel.BigPanel(self)
        self.episodes_list = self.big_panel.episodes
        self.episodes_download = self.big_panel.downloads_widget
        self.episode_channels = [CHANNELS_ALL] + sorted(
            set(e.channel
                for e in self.episodes_list._model.episodes if e.channel))
        self.setCentralWidget(self.big_panel)

        # the setting of menubar should be almost in the end, because it may
        # trigger the wizard, which needs big_panel and etc.
        self.action_play = self.action_download = None
        self.filter_line = self.filter_cbox = self.needsomething_alert = None
        self._menubar()

        systray.show(self)

        if config.get('autorefresh'):
            ue = update.UpdateEpisodes(self, update_source)
            ue.background()
        else:
            # refresh data if never done before or if last
            # update was 7 days ago
            last_refresh = config.get('autorefresh_last_time')
            if last_refresh is None or (dt.datetime.now() - last_refresh >
                                        dt.timedelta(7)):
                ue = update.UpdateEpisodes(self, update_source)
                ue.background()

        self.show()

        self.episodes_download.load_pending()
        logger.debug("Main UI started ok")
Ejemplo n.º 2
0
 def refresh_episodes(self, _=None):
     """Update and refresh episodes."""
     ue = update.UpdateEpisodes(self, self.update_source)
     ue.interactive()