def test_playlist(self): import parsers urls = [ 'http://tv.sohu.com/20120726/n349115692.shtml', 'http://v.youku.com/v_show/id_XNDIwNjkzMzky.html', 'http://v.youku.com/v_show/id_XNzIyOTE1NTUy.html?f=22331872', ] for url in urls: print parsers.getPlayListParser(url).info(url)
def main(cfg, log): if cfg.playlist: for url in cfg.urls: outpath, cfg.urls = parsers.getPlayListParser(url).info(url) cfg.outpath = pjoin(cfg.outpath, outpath) util.assure_path(cfg.outpath) with open(pjoin(cfg.outpath, 'url.txt'), 'w') as fp: fp.writelines([url + "\n\n"]) for i, clip in enumerate(cfg.urls): fp.writelines(["[%03d] %s\n"%(i, clip)]) bar = ProgressBar() ws = WorkShop(tmin=cfg.tmin, tmax=cfg.tmax, log=log) dlvs = [] for i, url in enumerate(cfg.urls): dlvideo = VUrlTask(url, vidfmt=cfg.vidfmt, npf=cfg.npf, outpath=cfg.outpath, bar=bar, log=log) dlvs.append(dlvideo) try: ws.serve() ws.addTasks(dlvs) while len(dlvs) > 0: for i, dlv in enumerate(dlvs): if dlv.isArchived() or dlv.isError(): del dlvs[i] _sleep(1) except Exception as e: log.exception(e) finally: ws.setToStop() ws.join()
def main(cfg, log): if cfg.playlist: for url in cfg.urls: outpath, cfg.urls = parsers.getPlayListParser(url).info(url) cfg.outpath = pjoin(cfg.outpath, outpath) util.assure_path(cfg.outpath) with open(pjoin(cfg.outpath, 'url.txt'), 'w') as fp: fp.writelines([url + "\n\n"]) for i, clip in enumerate(cfg.urls): fp.writelines(["[%03d] %s\n" % (i, clip)]) bar = ProgressBar() ws = WorkShop(tmin=cfg.tmin, tmax=cfg.tmax, log=log) dlvs = [] for i, url in enumerate(cfg.urls): dlvideo = VUrlTask(url, vidfmt=cfg.vidfmt, npf=cfg.npf, outpath=cfg.outpath, bar=bar, log=log) dlvs.append(dlvideo) try: ws.serve() ws.addTasks(dlvs) while len(dlvs) > 0: for i, dlv in enumerate(dlvs): if dlv.isArchived() or dlv.isError(): del dlvs[i] _sleep(1) except Exception as e: log.exception(e) finally: ws.setToStop() ws.join()