• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python rc.post_event函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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


示例16: cd_backup

 def cd_backup(self, arg, menuw=None):
     device, type = arg
     self.rip_thread = main_backup_thread(device=device, rip_format=type)
     self.rip_thread.start()
     # delete the choose format menu
     menuw.delete_menu()
     # delete submenu
     menuw.delete_submenu()
     # show message
     rc.post_event(Event(OSD_MESSAGE, _('Ripping started')))
开发者ID:adozenlines,项目名称:freevo1,代码行数:10,代码来源:cdbackup.py


示例17: process_data

    def process_data(self):
        str_arg = ''
        command = None

        logger.log( 9, "Data received: %s", str(self.data))
        str_cmd = self.data[:4]
        if str_cmd in ('VOL-', 'VOL+', 'VOLM', 'MAIN', 'STAT'):
            command = self.cmds.get(str_cmd, '')
            if command:
                logger.debug('Event Translation: "%s" -> "%s"', str_cmd, command)
                if str_cmd in ('VOL-', 'VOL+'):
                    self.rc.post_event(em.Event(command, arg=config.MIXER_VOLUME_STEP))
                else:
                    self.rc.post_event(em.Event(command))

        elif str_cmd == 'TEXT':
            str_arg = self.data[4:]
            for letter in str_arg:
                command = self.rc.key_event_mapper(letter)
                if command:
                    logger.debug('Event with arg Translation: "%s" -> "%s %s"', self.data, command, letter)
                    self.rc.post_event(command)

        elif str_cmd == 'MSND':
            self.menu_client_waiting = True
            logger.debug('Client asked for menu')

        elif str_cmd == 'MITM':
            str_arg = self.data[4:]
            try:
                pos = int(str_arg)

                menu = self.menuw.menustack[-1]
                max  = len(menu.choices)
                if pos < max:
                    menu.selected = menu.choices[pos]
                    self.rc.post_event(em.MENU_SELECT)
                else:
                    logger.debug('Menu index too high!: %s (max=%s)', pos, max - 1)

            except ValueError:
                logger.debug('Menu index sent: %s', str_arg)
                pass

        else:
            command = self.rc.key_event_mapper(self.cmds.get(self.data, ''))
            if command:
                logger.debug('Event Translation: "%s" -> "%s"', self.data, command)
                self.rc.post_event(command)

        if command and self.osd_message:
            logger.debug('OSD Event: "%s"', command)
            rc.post_event(em.Event(em.OSD_MESSAGE, arg=_('BT event %s' % command)))

        self.data=''
开发者ID:adozenlines,项目名称:freevo1,代码行数:55,代码来源:freevused.py


示例18: addToCart

    def addToCart(self, arg=None, menuw=None):
        if hasattr(self.item, 'subitems') and self.item.subitems:
            for s in self.item.subitems:
                self.cart.append(s)
        else:
            self.cart.append(self.item)

        if isinstance(menuw.menustack[-1].selected, menu.MenuItem):
            rc.post_event(em.MENU_BACK_ONE_MENU)
        else:
            rc.post_event(em.Event(em.OSD_MESSAGE, arg=_('Added to Cart')))
开发者ID:adozenlines,项目名称:freevo1,代码行数:11,代码来源:shoppingcart.py


示例19: removeFromCart

    def removeFromCart(self, arg=None, menuw=None):
        if hasattr(self.item, 'subitems') and self.item.subitems:
            for s in self.item.subitems:
                self.cart.remove(s)
        else:
            self.cart.remove(self.item)

        if isinstance(menuw.menustack[-1].selected, menu.MenuItem):
            rc.post_event(em.MENU_BACK_ONE_MENU)
        else:
            rc.post_event(em.Event(em.OSD_MESSAGE, arg=_('Removed from Cart')))
开发者ID:adozenlines,项目名称:freevo1,代码行数:11,代码来源:shoppingcart.py


示例20: play

    def play(self, arg=None, menuw=None):
        logger.debug("%s.play(arg=%r, menuw=%r)", self.__module__, arg, menuw)
        self.elapsed = 0
        if not self.menuw:
            self.menuw = menuw

        self.player = PodCastPlayerGUI(self, menuw)  # LastFM
        error = self.player.play()

        if error and menuw:
            AlertBox(text=error).show()
            rc.post_event(rc.PLAY_END)
开发者ID:jduda,项目名称:freevo1,代码行数:12,代码来源:apodcast.py



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python rclpy.init函数代码示例发布时间:2022-05-26
下一篇:
Python process.execute函数代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap