Esempio n. 1
0
 def test_fmgr_copy(self):
     srckey = '2.doc'
     dstkey = '1.doc'
     resource = urlsafe_base64_encode('%s:%s' % (self.bucket, srckey))
     fops = 'resource/%s/bucket/%s/key/%s' % (
         resource, urlsafe_base64_encode(
             self.bucket), urlsafe_base64_encode(dstkey))
     debug(self.cli.fmgr_copy(fops))
Esempio n. 2
0
 def test_fmgr_fetch(self):
     url = 'http://a20170704-weihb.w.wcsapi.biz.matocloud.com/1.doc'
     key = '1.doc'
     fetchurl = urlsafe_base64_encode(url)
     enbucket = urlsafe_base64_encode(self.bucket)
     enkey = urlsafe_base64_encode(key)
     fops = 'fetchURL/%s/bucket/%s/key/%s' % (fetchurl, enbucket, enkey)
     debug(self.cli.fmgr_fetch(fops))
Esempio n. 3
0
 def test_fmgr_fetch(self):
     url = 'http://www.example.com/1.doc'
     key = ''
     fetchurl = urlsafe_base64_encode(url)
     enbucket = urlsafe_base64_encode(self.bucket)
     enkey = urlsafe_base64_encode(key)
     fops = 'fetchURL/%s/bucket/%s/key/%s' % (fetchurl, enbucket, enkey)
     debug(self.cli.fmgr_fetch(fops))
Esempio n. 4
0
 def test_fmgr_fetch(self):
     url = 'http://big-caiyz-fmgr-cache.com/1m.jpg'
     key = 'fetch_1m.jpg'
     fetchurl = urlsafe_base64_encode(url)
     enbucket = urlsafe_base64_encode(self.bucket)
     enkey = urlsafe_base64_encode(key)
     fops = 'fetchURL/%s/bucket/%s/key/%s' % (fetchurl, enbucket, enkey)
     return_data = self.cli.fmgr_fetch(fops)
     debug(return_data)
     self.assertEqual(return_data[0],200)
 def setdeadline(self, bucket, key, deadline):
     url = https_check('{0}/setdeadline'.format(self.mgr_host))
     param = {'bucket': urlsafe_base64_encode(bucket)}
     param['key'] = urlsafe_base64_encode(key)
     param['deadline'] = deadline
     body = super(BucketManager, self)._params_parse(param)
     debug('Set deadline of %s to %s' % (key, deadline))
     return _post(url=url,
                  data=body,
                  headers=super(BucketManager,
                                self)._gernerate_headers(url, body))
Esempio n. 6
0
 def test_fmgr_delete(self):
     path = 'F:\\5_.zip'
     key = '5_.zip'
     self.cfg.overwrite = 1
     self.cli.multipart_upload(path, self.bucket, key)
     enbucket = urlsafe_base64_encode(self.bucket)
     enkey = urlsafe_base64_encode(key)
     fops = 'bucket/%s/key/%s' % (enbucket, enkey)
     return_data = self.cli.fmgr_delete(fops)
     debug(return_data)
     self.assertEqual(return_data[0],200)
Esempio n. 7
0
 def test_fmgr_prefix_del(self):
     path = 'F:\\5_.zip'
     key = 'aa/5_.zip'
     self.cfg.overwrite = 1
     self.cli.multipart_upload(path, self.bucket, key)
     prefix = 'aa'
     enbucket = urlsafe_base64_encode(self.bucket)
     enprefix = urlsafe_base64_encode(prefix)
     fops = 'bucket/%s/prefix/%s' % (enbucket, enprefix)
     return_data = self.cli.prefix_delete(fops)
     debug(return_data)
     self.assertEqual(return_data[0],200)
Esempio n. 8
0
 def test_fmgr_copy(self):
     path = 'F:\\5_.zip'
     key = '5_.zip'
     self.cfg.overwrite = 1
     self.cli.multipart_upload(path, self.bucket, key)
     srckey = key
     dstkey = '5_4.zip'
     resource = urlsafe_base64_encode('%s:%s' % (self.bucket,srckey))
     fops = 'resource/%s/bucket/%s/key/%s' % (resource,urlsafe_base64_encode(self.bucket), urlsafe_base64_encode(dstkey))
     return_data = self.cli.fmgr_copy(fops)
     debug(return_data)
     self.assertEqual(return_data[0],200)
    def bucketlist(self,
                   bucket,
                   prefix=None,
                   marker=None,
                   limit=None,
                   mode=None,
                   starttime=None,
                   endtime=None):
        options = {
            'bucket': bucket,
        }
        if marker:
            options['marker'] = marker
        if limit:
            if limit in self._limit_check():
                options['limit'] = limit
            else:
                error('Invalid limit ! Please redefine limit')
                raise ValueError("Invalid limit")
        if prefix:
            options['prefix'] = urlsafe_base64_encode(prefix)
        if mode == 1 or mode == 0:
            options['mode'] = mode

        if starttime:
            options['startTime'] = starttime
        if endtime:
            options['endTime'] = endtime

        url = https_check(self._make_url('list', options))
        if options:
            debug('List options is %s' % options)
        debug('List bucket %s' % bucket)
        return _get(url=url,
                    headers=super(BucketManager, self)._gernerate_headers(url))
Esempio n. 10
0
 def test_fmgr_m3u8_del(self):
     self.cfg.overwrite = 1
     key = 'M3U8_FILE.m3u8'
     key_ts = '000001.ts'
     path = 'E:\\m3u8\\M3U8_FILE.m3u8'
     path_ts = 'E:\\m3u8\\000001.ts'
     debug('start to upload m3u8')
     self.cli.simple_upload(path, self.bucket, key)
     debug('start to upload ts file')
     self.cli.simple_upload(path_ts, self.bucket, key_ts)
     enbucket = urlsafe_base64_encode(self.bucket)
     enkey = urlsafe_base64_encode(key)
     fops = 'bucket/%s/key/%s' % (enbucket, enkey)
     return_data = self.cli.m3u8_delete(fops)
     debug(return_data)
     self.assertEqual(return_data[0],200)
Esempio n. 11
0
 def execute(self, fops, bucket, key, force=0, separate=0, notifyurl=None):
     data = {
         'bucket': urlsafe_base64_encode(bucket),
         'key': urlsafe_base64_encode(key),
         'fops': urlsafe_base64_encode(fops)
     }
     if notifyurl is not None:
         data['notifyURL'] = urlsafe_base64_encode(notifyurl)
     if force == 1:
         data['force'] = 1
     if separate == 1:
         data['separate'] = 1
     url = https_check('{0}/fops'.format(self.mgr_host))
     headers, reqdata = self._gernerate_headers(url, data)
     debug('PersistentFops is %s' % fops)
     debug('Start to post persistentFops')
     return _post(url=url, data=reqdata, headers=headers)
Esempio n. 12
0
 def _parse_fops(self, fops):
     data = [fops]
     if self.cfg.notifyurl:
         data.append('notifyURL=%s' %
                     urlsafe_base64_encode(self.cfg.notifyurl))
     if self.cfg.separate:
         data.append('separate=%s' % self.cfg.separate)
     if self.cfg.force:
         data.append('force=%s' % self.cfg.force)
     return 'fops=' + '&'.join(data)
Esempio n. 13
0
    def uploadtoken(self, putPolicy):
        """
        input: Put Policy
        return: uploadtoken
        """
        current = int(time.mktime(datetime.now().timetuple())) * 1000
        if 'deadline' not in putPolicy.keys(
        ) or putPolicy['deadline'] > current:
            putPolicy['deadline'] = current + 7200000

        jsonputPolicy = json.dumps(putPolicy)
        #encodePutPolicy = base64.b64encode(jsonputPolicy)
        encodePutPolicy = urlsafe_base64_encode(jsonputPolicy)
        Sign = hmac.new(self.secret_key.encode('utf-8'),
                        encodePutPolicy.encode('utf-8'), sha1)
        #encodeSign = base64.b64encode(Sign.hexdigest())
        encodeSign = urlsafe_base64_encode(Sign.hexdigest())
        return '{0}:{1}:{2}'.format(self.access_key, encodeSign,
                                    encodePutPolicy)
 def image_detect(self, image, dtype, bucket):
     url = https_check('{0}/imageDetect'.format(self.mgr_host))
     param = {'image': urlsafe_base64_encode(image)}
     param['type'] = dtype
     param['bucket'] = bucket
     body = super(BucketManager, self)._params_parse(param)
     debug('image detect for %s to %s' % (image, dtype))
     return _post(url=url,
                  data=body,
                  headers=super(BucketManager,
                                self)._gernerate_headers(url, body))
Esempio n. 15
0
    def cut_video(self):
        saves_base64 = urlsafe_base64_encode('%s:%s.m3u8' % (self.bucket, self.file_prefix))
        second_time = self.format_second(str_time=argv_time)
        fops = 'avthumb/m3u8/preset/video_640k/ss/%s|saveas/%s' % (second_time, saves_base64)
        res = self.cli.ops_execute(fops, self.bucket, argv_file_name)
        if res[0] == 200:
            print("[INFO]  提交切割视频任务成功")
        else:
            print(res)
            print("[ERROR]  提交切割失败")
            print(res)
            sys.exit(1)
        persistent_id = res[1]['persistentId']

        return persistent_id
 def bucket_statistics(self,
                       name,
                       stype,
                       startdate,
                       enddate,
                       isListDetails='false'):
     encode_name = urlsafe_base64_encode(name)
     options = {
         'name': encode_name,
         'type': stype,
         'startdate': startdate,
         'enddate': enddate
     }
     url = https_check(self._make_url('bucket/statistics', options))
     debug('Now get bucket %s of %s from %s to %s' %
           (stype, name, startdate, enddate))
     return _get(url=url,
                 headers=super(BucketManager, self)._gernerate_headers(url))
 def bucket_stat(self,
                 name,
                 startdate,
                 enddate,
                 isListDetails='false',
                 storageType=None):
     encode_name = urlsafe_base64_encode(name)
     options = {
         'name': encode_name,
         'startdate': startdate,
         'enddate': enddate,
         'isListDetails': isListDetails
     }
     if storageType:
         options['storageType'] = str(storageType)
     url = https_check(self._make_url('bucket/stat', options))
     debug('Now check storage of %s from %s to %s' %
           (name, startdate, enddate))
     return _get(url=url,
                 headers=super(BucketManager, self)._gernerate_headers(url))
Esempio n. 18
0
 def managertoken(self, url, body=None):
     """
     input: url & body(optional)
     return: managertoken
     """
     parsed_url = urlparse(url)
     query = parsed_url.query
     path = parsed_url.path
     if query:
         if body:
             signingStr = ''.join([path, '?', query, "\n", body])
         else:
             signingStr = ''.join([path, '?', query, "\n"])
     else:
         if body:
             signingStr = ''.join([path, "\n", body])
         else:
             signingStr = ''.join([path, "\n"])
     SignStr = hmac.new(self.secret_key.encode('utf-8'),
                        signingStr.encode('utf-8'), sha1)
     encodeSignStr = urlsafe_base64_encode(SignStr.hexdigest())
     return '{0}:{1}'.format(self.access_key, encodeSignStr)
Esempio n. 19
0
 def test_fmgr_prefix_del(self):
     prefix = 'test'
     enbucket = urlsafe_base64_encode(self.bucket)
     enprefix = urlsafe_base64_encode(prefix)
     fops = 'bucket/%s/prefix/%s' % (enbucket, enprefix)
     debug(self.cli.prefix_delete(fops))
Esempio n. 20
0
 def test_fmgr_delete(self):
     key = '1.doc'
     enbucket = urlsafe_base64_encode(self.bucket)
     enkey = urlsafe_base64_encode(key)
     fops = 'bucket/%s/key/%s' % (enbucket, enkey)
     debug(self.cli.fmgr_delete(fops))
 def _make_move_url(self, srcbucket, srckey, dstbucket, dstkey):
     src = urlsafe_base64_encode('%s:%s' % (srcbucket, srckey))
     dst = urlsafe_base64_encode('%s:%s' % (dstbucket, dstkey))
     url = '{0}/move/{1}/{2}'.format(self.mgr_host, src, dst)
     return https_check(url)
Esempio n. 22
0
 def test_fmgr_m3u8_del(self):
     key = 'Wildlife111.wmv'
     enbucket = urlsafe_base64_encode(self.bucket)
     enkey = urlsafe_base64_encode(key)
     fops = 'bucket/%s/key/%s' % (enbucket, enkey)
     debug(self.cli.m3u8_delete(fops))