def _dataAvail(self, data): if None == data: return data = self.outData + data if '\n' != data[-1]: truncated = True else: truncated = False data = data.split('\n') if truncated: self.outData = data[-1] del data[-1] for item in data: printDBG(item) if item.startswith('{'): try: updateStatistic = False obj = json.loads(item.strip()) printDBG("Status object [%r]" % obj) if "d_s" in obj: self.localFileSize = obj["d_s"] updateStatistic = True if "t_d" in obj: self.totalDuration = obj["t_d"] updateStatistic = True if "d_d" in obj: self.downloadDuration = obj["d_d"] updateStatistic = True if "d_t" in obj and obj['d_t'] == 'live': self.liveStream = True if updateStatistic: BaseDownloader._updateStatistic(self) except Exception: printExc() continue
def updateStatistic(self): if self.infoFrom == WgetDownloader.INFO.FROM_FILE: BaseDownloader.updateStatistic(self) return if self.WGET_STS.DOWNLOADING == self.wgetStatus: print(self.outData) dataLen = len(self.outData) for idx in range(dataLen): if idx + 1 < dataLen: # default style - one dot = 1K if '.' == self.outData[idx] and self.outData[idx + 1] in ['.', ' ']: self.localFileSize += 1024 else: self.outData = self.outData[idx:] break BaseDownloader._updateStatistic(self)
def updateStatistic(self): if self.infoFrom == WgetDownloader.INFO.FROM_FILE: BaseDownloader.updateStatistic(self) return if self.WGET_STS.DOWNLOADING == self.wgetStatus: print self.outData dataLen = len(self.outData) for idx in range(dataLen): if idx+1 < dataLen: # default style - one dot = 1K if '.' == self.outData[idx] and self.outData[idx+1] in ['.', ' ']: self.localFileSize += 1024 else: self.outData = self.outData[idx:] break BaseDownloader._updateStatistic(self)
def _dataAvail(self, data): if None == data: return data = self.outData + data if '\n' != data[-1]: truncated = True else: truncated = False data = data.split('\n') if truncated: self.outData = data[-1] del data[-1] for item in data: printDBG(item) if item.startswith('{'): try: obj = json.loads(item.strip()) printDBG("Status object [%r]" % obj) if "total_download_size" in obj: self.localFileSize = obj["total_download_size"] BaseDownloader._updateStatistic(self) except: printExc() continue