def _split_media(url) -> []: logger.info('开始文件分块') split_step = config['SEGMENT']['MAX_SIZE'] * MB # 每个分段大小,单位是bytes session = get_session() session.headers.update({ 'Range': 'bytes=0-10', }) split_list = [] try: r = session.get(url) except Exception: logger.warning('请求发送失败') return split_list if not r.headers['Content-Range']: logger.warning('返回头不包含Content-Range字段') return split_list content_range = r.headers['Content-Range'].split('/') content_range = int(content_range[1]) split_num = int(content_range / split_step) if split_num == 0: return [f'0-{content_range-1}'] for i in range(split_num): split_list.append(f'{split_step*i}-{split_step*(i+1)-1}') split_list.append(f'{split_step*split_num}-{content_range-1}') return split_list
def tf_get_value(variables): sess = get_session() if isinstance(variables, list): # Assume a list of variables values = [var.eval(session=sess) for var in variables] else: values = variables.eval(session=sess) return values
def get_media_thread(url, media_content_list, index, media_range): logger.debug(f'子线程获取分段视频数据,index: {index},media_range: {media_range}') start_time = time.time() session = get_session() session.headers.update({'Range': f'bytes={media_range}'}) try: r = session.get(url) except Exception as e: logger.warning(f'子线程下载分段视频失败,ERROR:{repr(e)}') return if r.status_code != 206: logger.warning(f'子线程分段视频获取错误,HTTP CODE:{r.status_code}') return media_content_list[index] = r logger.info(f'子线程分段视频下载成功,index: {index}用时:{time.time()-start_time}')
def tf_set_value(variables, values, sess=None): if sess is None: sess = get_session() if isinstance(variables, list): assert isinstance( values, list), "If 'variables' is a list, 'values' should also be a list" assert len(values) == len(variables), 'Invalid lengths' assign_ops = [] for i, value in enumerate(values): assign_ops.append(variables[i].assign(value)) sess.run(assign_ops) else: # assume a single variable # assert isinstance(variables, tf.Variable), ( # "'variables' should be either a 'tf.Variable' or a list of 'tf.Variables'" # ) assign_op = variables.assign(values) sess.run(assign_op) return sess
def __init__(self, uid): logger.info('初始化User') self._uid = uid self._get_local_data() self._session = get_session() self._up_name = mid2name(uid)
#Import our configuration functions from models import Film from config import get_session #Get instances for working with DB session = get_session() #***********************Working with db******************** #Update spcify row v1 film = session.query(Film).filter(Film.id == 3).one() session.delete(film) session.commit() #Update spcify row v2 films = Film.__table__.delete().where(Film.id.in_([2, 4, 5])) session.execute(films) session.commit()
def db(self): if 'db' not in g: g.db = get_session() return g.db