Пример #1
0
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
Пример #2
0
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
Пример #3
0
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}')
Пример #4
0
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
Пример #5
0
 def __init__(self, uid):
     logger.info('初始化User')
     self._uid = uid
     self._get_local_data()
     self._session = get_session()
     self._up_name = mid2name(uid)
Пример #6
0
#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()
Пример #7
0
 def db(self):
     if 'db' not in g:
         g.db = get_session()
     return g.db