コード例 #1
0
ファイル: base_controls.py プロジェクト: Pythoning/foobnix
    def _play(self, bean):
        if not bean.path:
            bean.path = get_bean_posible_paths(bean)

        if not bean.path:
            if not self.fill_bean_from_vk(bean):

                def post_task():
                    self._play(bean)

                if self.vk_service.is_show_authorization(post_task):
                    return

        if not self.check_path(bean.path):
            if bean.iso_path and os.path.exists(bean.iso_path):
                logging.info("Try to remount " + bean.iso_path)
                mount_tmp_iso(bean.iso_path)
            else:
                resource = bean.path if bean.path else bean.text
                logging.error("Resourse " + resource + " not found")
                self.media_engine.state_stop(show_in_tray=False)
                self.statusbar.set_text(_("Resource not found"))
                self.seek_bar.set_text(_("Resource not found"))
                self.count_errors += 1
                time.sleep(2)
                if self.count_errors < 4:
                    if self.play_lock.locked():
                        self.play_lock.release()
                    self.next()
                else:
                    self.seek_bar.set_text(_("Stopped. No resources found"))

                return

        elif os.path.isdir(bean.path):
            return

        self.count_errors = 0
        self.media_engine.play(bean)
        self.is_scrobbled = False
        self.start_time = False

        if not get_file_extension(bean.path) in FC().video_formats:
            if bean.type != FTYPE_RADIO:
                self.update_info_panel(bean)
            self.set_visible_video_panel(False)
コード例 #2
0
ファイル: base_controls.py プロジェクト: inferno1988/foobnix
 def _play(self, bean):
     self.count_errors = 0
     
     if not bean.path:
         bean.path = get_bean_posible_paths(bean)
     
     if bean.path and bean.type != FTYPE_RADIO and bean.path.startswith("http"):
         if not url_utils.is_exists(bean.path):
             bean.path = None
     
     if not bean.path:            
         if not self.fill_bean_from_vk(bean):
             def post_task():
                 self._play(bean)
             if self.vk_service.is_show_authorization(post_task):
                 return None
                 
             if self.count_errors < 4:
                 time.sleep(0.5)
                 self.count_errors += 1
                 if self.play_lock.locked():
                     self.play_lock.release()
                 self.next()
        
     if bean.path:
         if not os.path.exists(bean.path):
             if bean.iso_path and os.path.exists(bean.iso_path):
                 logging.info("Try to remount " + bean.iso_path)
                 mount_tmp_iso(bean.iso_path)
             elif not bean.path.startswith("http"):
                 logging.error("File " + bean.path + " not found")
         elif os.path.isdir(bean.path):
                 return None
     self.media_engine.play(bean)
     self.is_scrobbled = False
     self.start_time = False      
     
     if not get_file_extension(bean.path) in FC().video_formats:
         if bean.type != FTYPE_RADIO:
             self.update_info_panel(bean)
         self.set_visible_video_panel(False)
コード例 #3
0
    def _play(self, bean):
        if not bean.path:
            bean.path = get_bean_posible_paths(bean)

        if not self.check_path(bean.path):
            if bean.iso_path and os.path.exists(bean.iso_path):
                logging.info("Try to remount " + bean.iso_path)
                mount_tmp_iso(bean.iso_path)
            elif bean.vk_audio_id:
                self.fill_bean_by_vk_aid(bean)
            elif not bean.path or ("userapi" in bean.path) or ("vk.me"
                                                               in bean.path):
                self.fill_bean_from_vk(bean)
            else:
                resource = bean.path if bean.path else bean.text
                logging.error("Resourse " + resource + " not found")
                self.media_engine.state_stop(show_in_tray=False)
                self.statusbar.set_text(_("Resource not found"))
                self.seek_bar.set_text(_("Resource not found"))
                self.count_errors += 1
                time.sleep(2)
                if self.count_errors < 4:
                    if self.play_lock.locked():
                        self.play_lock.release()
                    self.next()
                else:
                    self.seek_bar.set_text(_("Stopped. No resources found"))
                return

        elif os.path.isdir(bean.path):
            return

        self.count_errors = 0
        self.media_engine.play(bean)
        self.is_scrobbled = False
        self.start_time = False

        if bean.type != FTYPE_RADIO:
            self.update_info_panel(bean)
        self.set_visible_video_panel(False)
        self.trayicon.update_info_from(bean)