Esempio n. 1
0
class TVApp:
    def __init__(self, config_path):
        self._logger = getLogger("raspberry")
        self._logger.setLevel(INFO)
        formatter = Formatter(
            '%(asctime)s [%(name)s] %(levelname)s : %(message)s')
        stream_handler = StreamHandler()
        stream_handler.setLevel(INFO)
        stream_handler.setFormatter(formatter)
        self._logger.addHandler(stream_handler)
        signal.signal(signal.SIGINT, self.exit_gracefully)
        signal.signal(signal.SIGTERM, self.exit_gracefully)

        self._logger.info("Initializing...")
        self.preference_checker = Preferences(config_path)
        self.video_player = VideoPlayer()
        self.tv_controller = TVController()

        self._logger.info("Ready")

    def run(self):
        self._logger.info(
            "Waiting 1 min if you want to stop me before I go full screen...")
        time.sleep(60)

        self._logger.info("Starting all components now...")
        self.tv_controller.start(self.preference_checker.time_on_off)
        self.video_player.start(self.preference_checker.video_list)
        self.preference_checker.start()

        while True:
            time.sleep(120)

    def exit_gracefully(self, signum, frame):
        self._logger.info("Key pressed, exiting")
        self.tv_controller.stop()
        self.video_player.stop()
        self.preference_checker.stop()

        self._logger.info("End")
Esempio n. 2
0
class PopUpMenu(object):
    def __init__(self, photolist, photoframe):

        self.gui = Gtk.Builder()
        self.gui.add_from_file(
            os.path.join(constants.SHARED_DATA_DIR, 'menu.ui'))

        self.photoimage = photoframe.photoimage
        self.photolist = photolist

        self.preferences = Preferences(photolist)
        self.about = AboutDialog()

        self.is_show = False

    def start(self, widget, event):
        self.set_recent_menu()

        if SETTINGS.get_boolean('window-fix'):
            self.gui.get_object('menuitem6').set_active(True)

        photo = self.photoimage.photo
        accessible = photo.can_open() if photo else False
        self.set_open_menu_sensitive(accessible)

        is_fullscreen = SETTINGS.get_boolean('fullscreen')
        self.gui.get_object('menuitem8').set_active(is_fullscreen)

        self.gui.connect_signals(self)

        menu = self.gui.get_object('menu')
        menu.popup(None, None, None, None, event.button, event.time)
        self.is_show = True

    def set_recent_menu(self):
        RecentMenu(self.gui, self.photolist)

    def set_open_menu_sensitive(self, state):
        self.gui.get_object('menuitem5').set_sensitive(state)

    def on_menuitem5_activate(self, *args):
        "open_photo"
        self.photoimage.photo.open()

    def on_next_photo(self, *args):
        self.photolist.next_photo(*args)

    def on_menuitem8_toggled(self, widget, *args):
        "_full_screen_cb"
        SETTINGS.set_boolean('fullscreen', widget.get_active())

    def on_menuitem6_toggled(self, widget):
        "_fix_window_cb"
        SETTINGS.set_boolean('window-fix', widget.get_active())

    def on_prefs(self, *args):
        self.preferences.start(*args)

    def on_help(self, widget):
        Gtk.show_uri(None, 'ghelp:gphotoframe', Gdk.CURRENT_TIME)

    def on_about(self, *args):
        self.about.start()

    def on_quit(self, *args):
        self.photolist.queue.clear_cache()
        reactor.stop()

    def on_menu_hide(self, *args):
        self.is_show = False
Esempio n. 3
0
class PopUpMenu(object):

    def __init__(self, photolist, photoframe):

        self.gui = Gtk.Builder()
        self.gui.add_from_file(os.path.join(constants.SHARED_DATA_DIR, 'menu.ui'))

        self.photoimage = photoframe.photoimage
        self.photolist = photolist

        self.preferences = Preferences(photolist)
        self.about = AboutDialog()

        self.is_show = False

    def start(self, widget, event):
        self.set_recent_menu()

        if SETTINGS.get_boolean('window-fix'):
            self.gui.get_object('menuitem6').set_active(True)

        photo = self.photoimage.photo
        accessible = photo.can_open() if photo else False
        self.set_open_menu_sensitive(accessible)

        is_fullscreen = SETTINGS.get_boolean('fullscreen')
        self.gui.get_object('menuitem8').set_active(is_fullscreen)

        self.gui.connect_signals(self)

        menu = self.gui.get_object('menu')
        menu.popup(None, None, None, None, event.button, event.time)
        self.is_show = True

    def set_recent_menu(self):
        RecentMenu(self.gui, self.photolist)

    def set_open_menu_sensitive(self, state):
        self.gui.get_object('menuitem5').set_sensitive(state)


    def on_menuitem5_activate(self, *args):
        "open_photo"
        self.photoimage.photo.open()

    def on_next_photo(self, *args):
        self.photolist.next_photo(*args)

    def on_menuitem8_toggled(self, widget, *args):
        "_full_screen_cb"
        SETTINGS.set_boolean('fullscreen', widget.get_active())

    def on_menuitem6_toggled(self, widget):
        "_fix_window_cb"
        SETTINGS.set_boolean('window-fix', widget.get_active())

    def on_prefs(self, *args):
        self.preferences.start(*args)

    def on_help(self, widget):
        Gtk.show_uri(None, 'ghelp:gphotoframe', Gdk.CURRENT_TIME)

    def on_about(self, *args):
        self.about.start()

    def on_quit(self, *args):
        self.photolist.queue.clear_cache()
        reactor.stop()

    def on_menu_hide(self, *args):
        self.is_show = False