当前位置: 首页>>代码示例>>Python>>正文


Python rc.post_event函数代码示例

本文整理汇总了Python中rc.post_event函数的典型用法代码示例。如果您正苦于以下问题:Python post_event函数的具体用法?Python post_event怎么用?Python post_event使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了post_event函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: _event_handler

 def _event_handler(self, event):
     logger.log(9, '_event_handler(event=%s), event.arg=%r, event.context=%r, PluginInterface.detached=%r', 
         event, event.arg, event.context, PluginInterface.detached)
     gui = audio.player.get()
     if gui:
         p = gui.player
         if event == BUTTON:
             if event.arg == 'FFWD':
                 p.eventhandler(Event('SEEK', arg='10', context='audio'))
             elif event.arg == 'REW':
                 p.eventhandler(Event('SEEK', arg='-10', context='audio'))
             elif event.arg == 'PAUSE':
                 p.eventhandler(Event('PLAY', context='audio'))
             elif event.arg == 'STOP':
                 PluginInterface.detached = False
                 p.eventhandler(Event('STOP'))
             elif event.arg == 'NEXT':
                 p.eventhandler(Event('PLAYLIST_NEXT', context='audio'))
             elif event.arg == 'PREV':
                 p.eventhandler(Event('PLAYLIST_PREV', context='audio'))
         elif plugin.isevent(event) == 'DETACH':
             p.eventhandler(event)
             self._detach()
         elif plugin.isevent(event) == 'ATTACH':
             self._attach()
             p.eventhandler(event)
         elif event == VIDEO_START:
             PluginInterface.detached = False
             p.eventhandler(Event('STOP'))
         elif event == PLAY_START and gui.visible:
             rc.post_event(plugin.event('ATTACH'))
开发者ID:golaizola,项目名称:freevo1,代码行数:31,代码来源:detach.py

示例2: poll

    def poll(self, menuw=None, arg=None):
        """
        poll to check for devices
        """
        changes = False

        current_devices = util.list_usb_devices()
        for d in current_devices:
            try:
                self.devices.remove(d)
            except ValueError:
                logger.debug('new device %s', d)
                for device, message, action in config.USB_HOTPLUG:
                    if d == device:
                        pop = dialog.show_working_indicator(message)
                        os.system(action)
                        pop.hide()
                        break
                else:
                    changes = True

        for d in self.devices:
            changes = True
            logger.debug('removed device %s', d)

        if changes:
            rc.post_event(plugin.event('USB'))

        self.devices = current_devices
开发者ID:adozenlines,项目名称:freevo1,代码行数:29,代码来源:usb.py

示例3: stop

    def stop(self, cmd=''):
        """
        stop the child
        """
        logger.log( 9, 'ChildApp2.stop(cmd=%r)', cmd)
        self.timer.stop()
        rc.unregister(self.stop)

        if cmd and self.isAlive():
            self.write(cmd)
            # wait for the app to terminate itself
            for i in range(60):
                if not self.isAlive():
                    break
                time.sleep(0.1)

        # kill the app
        if self.isAlive():
            self.kill()

        # Ok, we can use the OSD again.
        if self.stop_osd:
            osd.restart()

        if self.is_video:
            rc.post_event(Event(VIDEO_END))
开发者ID:adozenlines,项目名称:freevo1,代码行数:26,代码来源:childapp.py

示例4: __drawn

    def __drawn(self, item):

        if plugin.getbyname('osd'):
            plugin.getbyname('osd').draw(('osd', None), self.osd)

        # draw
        self.osd.update()

        # start timer
        if self.duration and self.slideshow and not self.timer:
            self.timer = kaa.OneShotTimer(self.signalhandler)
            self.timer.start(self.duration)


        # stop slideshow at the end if configured
        try:
            index = item.parent.play_items.index(item)+1
            length = len(item.parent.play_items)
            if index == length:
                self.slideshow = config.IMAGEVIEWER_AUTOPLAY

            # send information event to LCD2
            rc.post_event(Event('IMAGE_VIEW_INFO', arg=(index, length, item.name)))
        except Exception, why:
            logger.warning('Invalid parent item: %s', why)
开发者ID:charrea6,项目名称:freevo1,代码行数:25,代码来源:viewer.py

示例5: init_page

    def init_page(self):

        self.screen_transition = skin.TRANSITION_PAGE

        menu = self.menustack[-1]
        if not menu:
            return

        # Create the list of main selection items (menu_items)
        menu_items           = []
        first                = menu.page_start
        self.rows, self.cols = menu.items_per_page()

        for choice in menu.choices[first : first+(self.rows*self.cols)]:
            menu_items.append(choice)

        self.rows, self.cols = menu.items_per_page()

        self.menu_items = menu_items

        if len(menu_items) == 0:
            self.all_items = menu_items + [ MenuItem('Back', self.back_one_menu) ]
        else:
            self.all_items = menu_items

        if not menu.selected in self.all_items:
            menu.selected = self.all_items[0]

        if not menu.choices:
            menu.selected = self.all_items[0]

        rc.post_event(MENU_PROCESS_END)
开发者ID:adozenlines,项目名称:freevo1,代码行数:32,代码来源:menu.py

示例6: __init__

    def __init__(self, app, debugname=None, doeslogging=0, stop_osd=2, callback_use_rc=True):
        """
        Initialise ChildApp2
        """
        logger.debug('ChildApp2.__init__(app=%r, debugname=%r, doeslogging=%r, stop_osd=%r)', app, debugname, doeslogging, stop_osd)

        self.timer = kaa.Timer(self.poll)
        self.timer.start(0.1)
        rc.register(self.stop, True, rc.SHUTDOWN)

        self.is_video = 0                       # Be more explicit
        if stop_osd == 2:
            self.is_video = 1
            rc.post_event(Event(VIDEO_START))
            stop_osd = config.OSD_STOP_WHEN_PLAYING

        self.stop_osd = stop_osd
        if self.stop_osd:
            osd.stop()

        if hasattr(self, 'item'):
            rc.post_event(Event(PLAY_START, arg=self.item))

        # return status of the child
        self.status = 0

        # start the child
        ChildApp.__init__(self, app, debugname, doeslogging, callback_use_rc)
开发者ID:adozenlines,项目名称:freevo1,代码行数:28,代码来源:childapp.py

示例7: poll

    def poll(self):
        """
        plugin polling
        """
        if self.playing:
            self.timer += 1
            if self.timer >= 4:
                self.timer = 0

                # try to connect to xine and check answer
                if self.handle is None:
                    try:
                        self.handle = telnetlib.Telnet("127.0.0.1", 6789)
                        out = self.handle.read_until("\n", 0.1)
                        if out[-1] != "\n":
                            raise
                    except:
                        self.handle = None
                        logger.warning("Cannot telnet to xine at 127.0.0.1:6789")

                # try to get xine time info
                if self.handle is not None:
                    length = self.get_time("length")
                    elapsed = self.get_time("position")
                    if length and elapsed:
                        rc.post_event(Event("VIDEO_PLAY_INFO", arg=(elapsed, length)))
开发者ID:golaizola,项目名称:freevo1,代码行数:26,代码来源:xine_info.py

示例8: error_handler

 def error_handler(self):
     """
     error handler if play doesn't work to send the end event and stop
     the player
     """
     rc.post_event(PLAY_END)
     self.stop()
开发者ID:golaizola,项目名称:freevo1,代码行数:7,代码来源:videoitem.py

示例9: run

    def run(self):
        logger.debug("run()")
        while 1:
            logger.debug("Record_Thread::run: mode=%s", self.mode)
            if self.mode == "idle":
                self.mode_flag.wait()
                self.mode_flag.clear()

            elif self.mode == "record":
                rc.post_event(Event("RECORD_START", arg=self.prog))
                logger.debug("Record_Thread::run: cmd=%s", self.command)

                self.app = RecordApp(self.command)
                logger.debug("app child pid: %s", self.app.child.pid)

                while self.mode == "record" and self.app.isAlive():
                    self.autokill -= 0.5
                    time.sleep(0.5)
                    if self.autokill <= 0:
                        logger.debug("autokill timeout, stopping recording")
                        self.mode = "stop"

                if self.app.isAlive():
                    logger.debug("Record_Thread::run: past wait!!")
                    self.app.kill()

                rc.post_event(Event("RECORD_STOP", arg=self.prog))
                logger.debug("Record_Thread::run: finished recording")

                self.mode = "idle"
            else:
                self.mode = "idle"
            time.sleep(0.5)
开发者ID:golaizola,项目名称:freevo1,代码行数:33,代码来源:generic_record.py

示例10: poll

 def poll(self):
     """
     stop everything when child is dead
     """
     logger.log( 8, 'ChildApp2.poll()')
     if not self.isAlive():
         rc.post_event(self.stop_event())
         self.stop()
开发者ID:adozenlines,项目名称:freevo1,代码行数:8,代码来源:childapp.py

示例11: _timer_handler

 def _timer_handler(self):
     if self.active:
         logger.info('Timeout reached without an event, posting events now.')
         for e in config.AUTOSTART_EVENTS:
             rc.post_event(Event(e))
         self.event.unregister()
         self.timer.stop()
         self.active = False
开发者ID:adozenlines,项目名称:freevo1,代码行数:8,代码来源:autostart.py

示例12: shuntItemInCart

 def shuntItemInCart(self, item):
     ''' Move an image item into or out of the shopping cart
     '''
     if self.cart != [] and item in self.cart:
         self.cart.remove(item)
         rc.post_event(em.Event(em.OSD_MESSAGE, arg=_('Removed Item from Cart')))
     else:
         self.cart.append(item)
         rc.post_event(em.Event(em.OSD_MESSAGE, arg=_('Added Item to Cart')))
开发者ID:adozenlines,项目名称:freevo1,代码行数:9,代码来源:shoppingcart.py

示例13: redraw

 def redraw(self):
     """
     Request that the dialog be redrawn.
     """
     #_stack_('Processing events? %r' % self.processing_event )
     if self.processing_event:
         self.force_redraw = True
     else:
         rc.post_event(event.Event(REDRAW_DIALOG, self))
开发者ID:golaizola,项目名称:freevo1,代码行数:9,代码来源:dialogs.py

示例14: Stop

 def Stop(self):
     """ Stop the xine player """
     logger.debug('XineIvtv.Stop()')
     dialog.disable_overlay_display()
     self.mixer.Stop()
     self.tuner.Stop()
     self.xine.Stop()
     rc.remove_app(self)
     rc.post_event(PLAY_END)
     logger.debug('Stopped %r app', self.mode)
开发者ID:adozenlines,项目名称:freevo1,代码行数:10,代码来源:ivtv_xine_tv.py

示例15: eventhandler

 def eventhandler(self, event=None, menuw=None, arg=None):
     """
     eventhandler to handle the new events
     """
     for r in config.NEW_EVENTS:
         if event == r[0]:
             system(r[1])
             if len(r) > 2:
                 rc.post_event(Event(OSD_MESSAGE, arg=r[2]))
             return True
开发者ID:adozenlines,项目名称:freevo1,代码行数:10,代码来源:newevents.py


注:本文中的rc.post_event函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。