def upload_data(self, bucket, dstpath, data, session, offset): url = self.generate_res_url(bucket, dstpath) expired = int(time.time()) + self.EXPIRED_SECONDS auth = Auth(self._secret_id, self._secret_key) sha1 = hashlib.sha1() sha1.update(data) sign = auth.sign_more(bucket, expired) headers = { 'Authorization': sign, 'User-Agent': conf.get_ua(), } files = { 'op': ('upload_slice'), 'filecontent': data, 'sha': sha1.hexdigest(), 'session': session, 'offset': str(offset) } return self.sendRequest('POST', url, headers=headers, files=files, timeout=(self.connect_timeout, self.read_timeout))
def __update(self, bucket, path, videoCover, title, desc, bizattr, flag): expired = int(time.time()) + self.EXPIRED_SECONDS url = self.generate_res_url(bucket, path) auth = Auth(self._secret_id, self._secret_key) sign = auth.sign_once( bucket, '/' + str(conf.get_app_info()['appid']) + '/' + bucket + '/' + path) headers = { 'Authorization': sign, 'Content-Type': 'application/json', 'User-Agent': conf.get_ua(), } data = {'op': 'update'} if videoCover != None: data['video_cover'] = videoCover if bizattr != None: data['biz_attr'] = bizattr if title != None: data['video_title'] = title if desc != None: data['video_desc'] = desc if flag != None: data['flag'] = flag return self.sendRequest('POST', url, headers=headers, data=json.dumps(data), timeout=(self.connect_timeout, self.read_timeout))
def __delete(self, bucket, path): if path == '' or path == '/': return { 'httpcode': 0, 'code': self.VIDEO_PARAMS_ERROR, 'message': 'path cannot be empty', 'data': {} } expired = int(time.time()) + self.EXPIRED_SECONDS url = self.generate_res_url(bucket, path) auth = Auth(self._secret_id, self._secret_key) sign = auth.sign_once( bucket, '/' + str(conf.get_app_info()['appid']) + '/' + bucket + '/' + path) headers = { 'Authorization': sign, 'Content-Type': 'application/json', 'User-Agent': conf.get_ua(), } data = {'op': 'delete'} return self.sendRequest('POST', url, headers=headers, data=json.dumps(data), timeout=(self.connect_timeout, self.read_timeout))
def upload(self, filepath, bucket, dstpath, videoCover=None, title=None, desc=None, bizattr=None, magiccontext=None): filepath = os.path.abspath(filepath); if not os.path.exists(filepath): return {'httpcode':0, 'code':self.VIDEO_FILE_NOT_EXISTS, 'message':'file not exists', 'data':{}} expired = int(time.time()) + self.EXPIRED_SECONDS bucket = string.strip(bucket, '/') dstpath = urllib.quote(string.strip(dstpath, '/'), '~/') url = self.generate_res_url(bucket, dstpath) auth = Auth(self._secret_id, self._secret_key) sha1 = self.sha1file(filepath); sign = auth.sign_more(bucket, expired) headers = { 'Authorization':sign, 'User-Agent':conf.get_ua(), } files = {'op':'upload','filecontent':open(filepath, 'rb'),'sha':sha1} if videoCover != None: files['video_cover'] = videoCover if title != None: files['video_title'] = title if desc != None: files['video_desc'] = desc if bizattr != None: files['biz_attr'] = bizattr if magiccontext != None: files['magiccontext'] = magiccontext return self.sendRequest('POST', url, headers=headers, files=files)
def __list(self, bucket, path, num=20, pattern='eListBoth', order=0, context=''): expired = int(time.time()) + self.EXPIRED_SECONDS url = self.generate_res_url(bucket, path) auth = Auth(self._secret_id, self._secret_key) sign = auth.sign_more(bucket, expired) headers = { 'Authorization': sign, 'User-Agent': conf.get_ua(), } data = { 'op': 'list', 'num': num, 'pattern': pattern, 'order': order, 'context': context } return self.sendRequest('GET', url, headers=headers, params=data, timeout=(self.connect_timeout, self.read_timeout))
def upload_prepare(self,filepath,bucket,dstpath,videoCover,title,desc,bizattr,slice_size,session,magiccontext): if not os.path.exists(filepath): return {'httpcode':0, 'code':self.VIDEO_FILE_NOT_EXISTS, 'message':'file not exists', 'data':{}} url = self.generate_res_url(bucket, dstpath) expired = int(time.time()) + self.EXPIRED_SECONDS auth = Auth(self._secret_id, self._secret_key) size = os.path.getsize(filepath) sha1 = self.sha1file(filepath); sign = auth.sign_more(bucket, expired) headers = { 'Authorization':sign, 'User-Agent':conf.get_ua(), } files = {'op': ('upload_slice'),'sha':sha1,'filesize': str(size)} if videoCover != None: files['video_cover'] = videoCover if title != None: files['video_title'] = title if desc != None: files['video_desc'] = desc if bizattr != None: files['biz_attr'] = bizattr if slice_size > 0: files['slice_size'] = str(slice_size) if session != '': files['session'] = session if magiccontext != None: files['magiccontext'] = magiccontext return self.sendRequest('POST', url, headers=headers,files=files, timeout=(self.connect_timeout, self.read_timeout))
def __update(self, bucket, path, videoCover, title, desc, bizattr, flag): expired = int(time.time()) + self.EXPIRED_SECONDS url = self.generate_res_url(bucket, path) auth = Auth(self._secret_id, self._secret_key) sign = auth.sign_once(bucket, '/'+str(conf.get_app_info()['appid'])+'/'+bucket+'/'+path) headers = { 'Authorization':sign, 'Content-Type':'application/json', 'User-Agent':conf.get_ua(), } data = {'op':'update'} if videoCover != None: data['video_cover'] = videoCover if bizattr != None: data['biz_attr'] = bizattr if title != None: data['video_title'] = title if desc != None: data['video_desc'] = desc if flag != None: data['flag'] = flag return self.sendRequest('POST', url, headers=headers, data=json.dumps(data), timeout=(self.connect_timeout, self.read_timeout))
def __stat(self, bucket, path): expired = int(time.time()) + self.EXPIRED_SECONDS url = self.generate_res_url(bucket, path) auth = Auth(self._secret_id, self._secret_key) sign = auth.sign_more(bucket, expired) headers = { 'Authorization':sign, 'User-Agent':conf.get_ua(), } data={'op':'stat'} return self.sendRequest('GET', url, headers=headers, params=data, timeout=(self.connect_timeout, self.read_timeout))
def __list(self, bucket, path, num=20, pattern='eListBoth', order=0, context='') : expired = int(time.time()) + self.EXPIRED_SECONDS url = self.generate_res_url(bucket, path) auth = Auth(self._secret_id, self._secret_key) sign = auth.sign_more(bucket, expired) headers = { 'Authorization':sign, 'User-Agent':conf.get_ua(), } data = {'op':'list','num':num,'pattern':pattern,'order':order,'context':context} return self.sendRequest('GET', url, headers=headers, params=data, timeout=(self.connect_timeout, self.read_timeout))
def upload(self, filepath, bucket, dstpath, videoCover=None, title=None, desc=None, bizattr=None, magiccontext=None): filepath = os.path.abspath(filepath) if not os.path.exists(filepath): return { 'httpcode': 0, 'code': self.VIDEO_FILE_NOT_EXISTS, 'message': 'file not exists', 'data': {} } expired = int(time.time()) + self.EXPIRED_SECONDS bucket = string.strip(bucket, '/') dstpath = urllib.quote(string.strip(dstpath, '/'), '~/') url = self.generate_res_url(bucket, dstpath) auth = Auth(self._secret_id, self._secret_key) sha1 = self.sha1file(filepath) sign = auth.sign_more(bucket, expired) headers = { 'Authorization': sign, 'User-Agent': conf.get_ua(), } files = { 'op': 'upload', 'filecontent': open(filepath, 'rb'), 'sha': sha1 } if videoCover != None: files['video_cover'] = videoCover if title != None: files['video_title'] = title if desc != None: files['video_desc'] = desc if bizattr != None: files['biz_attr'] = bizattr if magiccontext != None: files['magiccontext'] = magiccontext return self.sendRequest('POST', url, headers=headers, files=files)
def upload_data(self,bucket,dstpath,data,session,offset): url = self.generate_res_url(bucket,dstpath) expired = int(time.time()) + self.EXPIRED_SECONDS auth = Auth(self._secret_id, self._secret_key) sha1 = hashlib.sha1(); sha1.update(data) sign = auth.sign_more(bucket, expired) headers = { 'Authorization':sign, 'User-Agent':conf.get_ua(), } files = {'op': ('upload_slice'),'filecontent': data,'sha':sha1.hexdigest(),'session':session,'offset':str(offset)} return self.sendRequest('POST', url, headers=headers, files=files, timeout=(self.connect_timeout, self.read_timeout))
def __delete(self, bucket, path): if path == '' or path == '/': return {'httpcode':0, 'code':self.VIDEO_PARAMS_ERROR, 'message':'path cannot be empty', 'data':{}} expired = int(time.time()) + self.EXPIRED_SECONDS url = self.generate_res_url(bucket, path) auth = Auth(self._secret_id, self._secret_key) sign = auth.sign_once(bucket, '/'+str(conf.get_app_info()['appid'])+'/'+bucket+'/'+path) headers = { 'Authorization':sign, 'Content-Type':'application/json', 'User-Agent':conf.get_ua(), } data = {'op':'delete'} return self.sendRequest('POST', url, headers=headers, data=json.dumps(data), timeout=(self.connect_timeout, self.read_timeout))
def createFolder(self, bucket, path, bizattr=''): expired = int(time.time()) + self.EXPIRED_SECONDS bucket = string.strip(bucket, '/') path = urllib.quote(string.strip(path, '/') + '/', '~/') url = self.generate_res_url(bucket, path) auth = Auth(self._secret_id, self._secret_key) sign = auth.sign_more(bucket, expired) headers = { 'Authorization':sign, 'Content-Type':'application/json', 'User-Agent':conf.get_ua(), } data = {'op':'create','biz_attr':bizattr} return self.sendRequest('POST', url, headers=headers, data=json.dumps(data), timeout=(self.connect_timeout, self.read_timeout))
def upload_prepare(self, filepath, bucket, dstpath, videoCover, title, desc, bizattr, slice_size, session, magiccontext): if not os.path.exists(filepath): return { 'httpcode': 0, 'code': self.VIDEO_FILE_NOT_EXISTS, 'message': 'file not exists', 'data': {} } url = self.generate_res_url(bucket, dstpath) expired = int(time.time()) + self.EXPIRED_SECONDS auth = Auth(self._secret_id, self._secret_key) size = os.path.getsize(filepath) sha1 = self.sha1file(filepath) sign = auth.sign_more(bucket, expired) headers = { 'Authorization': sign, 'User-Agent': conf.get_ua(), } files = {'op': ('upload_slice'), 'sha': sha1, 'filesize': str(size)} if videoCover != None: files['video_cover'] = videoCover if title != None: files['video_title'] = title if desc != None: files['video_desc'] = desc if bizattr != None: files['biz_attr'] = bizattr if slice_size > 0: files['slice_size'] = str(slice_size) if session != '': files['session'] = session if magiccontext != None: files['magiccontext'] = magiccontext return self.sendRequest('POST', url, headers=headers, files=files, timeout=(self.connect_timeout, self.read_timeout))
def __stat(self, bucket, path): expired = int(time.time()) + self.EXPIRED_SECONDS url = self.generate_res_url(bucket, path) auth = Auth(self._secret_id, self._secret_key) sign = auth.sign_more(bucket, expired) headers = { 'Authorization': sign, 'User-Agent': conf.get_ua(), } data = {'op': 'stat'} return self.sendRequest('GET', url, headers=headers, params=data, timeout=(self.connect_timeout, self.read_timeout))
def createFolder(self, bucket, path, bizattr=''): expired = int(time.time()) + self.EXPIRED_SECONDS bucket = string.strip(bucket, '/') path = urllib.quote(string.strip(path, '/') + '/', '~/') url = self.generate_res_url(bucket, path) auth = Auth(self._secret_id, self._secret_key) sign = auth.sign_more(bucket, expired) headers = { 'Authorization': sign, 'Content-Type': 'application/json', 'User-Agent': conf.get_ua(), } data = {'op': 'create', 'biz_attr': bizattr} return self.sendRequest('POST', url, headers=headers, data=json.dumps(data), timeout=(self.connect_timeout, self.read_timeout))