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')
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()
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")