def update_downloader_status(self, item, path, current_size, total_size): status = { 'dlid': item.downloader.dlid, 'url': item.url, 'current_size': current_size, 'total_size': total_size, 'upload_size': 0, 'start_time': 1000, 'short_filename': os.path.basename(path), 'reason_failed': None, 'short_reason_failed': None, 'type': None, 'retry_time': None, 'retry_count': None, } if current_size < total_size: status.update({ 'state': u'downloading', 'end_time': None, 'eta': 10, 'rate': 1, 'filename': os.path.join(self.tempdir, 'Incomplete downloads', os.path.basename(path)), }) else: status.update({ 'state': u'finished', 'end_time': status['start_time'] + 50, 'eta': None, 'rate': None, 'filename': path, }) RemoteDownloader.update_status(status, cmd_done=True)
def action(self): from miro.downloader import RemoteDownloader from miro.messages import DownloaderSyncCommandComplete cmd_done = self.args[1] fresh = all(RemoteDownloader.update_status(status, cmd_done=cmd_done) for status in self.args[0]) if cmd_done and fresh: DownloaderSyncCommandComplete().send_to_frontend()
def action(self): from miro.downloader import RemoteDownloader from miro.messages import DownloaderSyncCommandComplete cmd_done = self.args[1] fresh = all( RemoteDownloader.update_status(status, cmd_done=cmd_done) for status in self.args[0]) if cmd_done and fresh: DownloaderSyncCommandComplete().send_to_frontend()
def test_remove_before_downloader_referenced(self): # when items are restored from the DB, the downloader # attribute is loaded lazily. Make sure that if we remove the # item, the downloader is still removed. feed = Feed(u'http://example.com/1') item = Item(fp_values_for_url(u'http://example.com/1/item1'), feed_id=feed.id) item.set_downloader( RemoteDownloader(u'http://example.com/1/item1/movie.mpeg', item)) downloader = item.downloader feed = self.reload_object(feed) downloader = self.reload_object(downloader) item = self.reload_object(item) item.remove() self.assert_(not downloader.id_exists())
def action(self): from miro.downloader import RemoteDownloader for status in self.args[0]: RemoteDownloader.update_status(status)
def action(self): from miro.downloader import RemoteDownloader return RemoteDownloader.update_status(*self.args, **self.kws)
def make_regular_item(self, feed): url = u'http://example.com/1/item1' item = Item(fp_values_for_url(url), feed_id=feed.id) item.set_downloader(RemoteDownloader(url, item)) return item