Example #1
0
 def downepi(self, episode):
     """ down a show """
     pos = self.visible.posend
     url, dest, cook = links.flvdown(episode, "")
     if url:
         try:
             if (not ospath.isdir(dest.split('/')[0])):
                 osmkdir(dest.split('/')[0])
             cmd = "wget -c " + url + " -O " + dest
             proc = subpopen(cmd, shell=True, stderr=PIPE, stdout=PIPE)
             while proc.poll() is None:
                 line = proc.stderr.readline()
                 resul = down.search(line[:-1])
                 if resul:
                     msg = resul.group(1) + ' ' + resul.group(2) + \
                             ' ' + resul.group(3)
                 self.screen.addstr(pos[0], pos[1]+pos[2], msg)
                 self.screen.refresh()
             subdown.downSub(episode, "")
         except:
             proc.kill()
             self.error(episode.getBaseName() + ': down error')
         else:
             self.error(episode.getBaseName() + ': down finish')
             episode.isOnDisk = True
             self.display()
     else:
         self.error(episode.getBaseName() + ': url not found')
Example #2
0
 def playClicked(self):
     """ when a button_play is clicked """
     episode = self.info[self.episode_cb.currentIndex()]
     if episode.getSrtName() == "":
         subdown.downSub(episode)
         if episode.getSrtName() == "":
             reply = QtGui.QMessageBox.question(self, 'Message', \
                "srt file missing. continue?", QtGui.QMessageBox.Yes | \
                QtGui.QMessageBox.No, QtGui.QMessageBox.No)
             if reply == QtGui.QMessageBox.No:
                 return
     Video(episode, self.player, self).start()
Example #3
0
 def run(self):
     """ download ep, sub, emit signal """
     try:
         link, filename, cook = links.flvdown(self.episode, self.option, \
               self.list_site)
         if link:
             self.episode.createDir()
             if cook:
                 # use of wget
                 self.emit(SIGNAL("downStartWget()"))
                 links.getFile(link, filename, cook)
                 self.proc = subprocess.Popen(['wget -c ' + link + \
                     ' -O ' + filename], shell=True)
                 self.proc.wait()
                 if self.proc.returncode == 0:
                     if subdown.downSub(self.episode, self.option) == -1:
                         raise NoSubFound()
                 else:
                     raise Abort()
             else:    
                 self.emit(SIGNAL("downStart()"))
                 urllib.urlretrieve(link, filename, reporthook=self.downInfo)
                 if subdown.downSub(self.episode, self.option) == -1:
                     raise NoSubFound()
         else:
             raise NoLinkFound()
     except NoSubFound:
         self.emit(SIGNAL("downFinish(PyQt_PyObject, QString)"), \
                     True, "no sub found")
     except NoLinkFound:
         self.emit(SIGNAL("downFinish(PyQt_PyObject, QString)"), \
                     False, "no link found")
     except Abort:
         self.emit(SIGNAL("downFinish(PyQt_PyObject, QString)"), \
                     False, "download aborted")
     except:
         traceback.print_exc()
         self.emit(SIGNAL("downFinish(PyQt_PyObject, QString)"), \
                     False, "download error")
     else:
         self.emit(SIGNAL("downFinish(PyQt_PyObject, QString)"), \
                     True, "download finished")