import re import time import urllib import urllib2 import Queue from io import BytesIO from time import sleep from socket import timeout as _socket_timeout from vavava import util as _util from vavava.threadutil import ThreadBase from vavava.httputil import HttpUtil from miniaxel.miniaxel import UrlTask, ProgressBar _util.set_default_utf8() class M3u8Stream(ThreadBase): def __init__(self, axel, proxy=None, log=None): ThreadBase.__init__(self, log=log) self.__oldurls = [] self.__urltsks_q = Queue.Queue() self.__axel = axel self.__http = HttpUtil() self.__progress_bar = ProgressBar() if proxy: self.__http.set_proxy(proxy) def recode(self, url, duration, vfmt, fp, npf, freq=10, detach=False): """ @param npf: download url stream by n parts per file
#!/usr/bin/env python # coding=utf-8 import os import sys from time import sleep as _sleep from vavava import util from vavava.threadutil import TaskBase, WorkShop from miniaxel.miniaxel import ProgressBar, UrlTask util.set_default_utf8() import parsers pjoin = os.path.join pdirname = os.path.dirname pabspath = os.path.abspath pexists = os.path.exists try: user_path = os.environ['HOME'] except: user_path = "./" print("""os.environ['HOME'] not exists, use user_path = "./" """) default_encoding = sys.getfilesystemencoding() if default_encoding.lower() == 'ascii': default_encoding = 'utf-8' def to_native_string(s): if type(s) == unicode: return s.encode(default_encoding)