当前位置: 首页>>代码示例>>Python>>正文


Python SCSBucket.put方法代码示例

本文整理汇总了Python中sinastorage.bucket.SCSBucket.put方法的典型用法代码示例。如果您正苦于以下问题:Python SCSBucket.put方法的具体用法?Python SCSBucket.put怎么用?Python SCSBucket.put使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在sinastorage.bucket.SCSBucket的用法示例。


在下文中一共展示了SCSBucket.put方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_update_file_acl

# 需要导入模块: from sinastorage.bucket import SCSBucket [as 别名]
# 或者: from sinastorage.bucket.SCSBucket import put [as 别名]
 def test_update_file_acl(self):
     scs = SCSBucket(self.bucket_name)
     try:
         scs.put_bucket('public-read-write')
     except:
         self.fail('create bucket:%s is failed'%self.bucket_name)
     content = u'this is a file content text!!'
     canned_acl = 'private'                #快捷ACL
     scs.put(key=self.object_key, data=content, acl=canned_acl)
       
     #设置ACL
     acl = {}
     acl[ACL.ACL_GROUP_ANONYMOUSE] = [ACL.ACL_READ, ACL.ACL_WRITE, ACL.ACL_READ_ACP]
     acl[ACL.ACL_GROUP_CANONICAL] = [ACL.ACL_READ_ACP,ACL.ACL_WRITE_ACP, ACL.ACL_READ]
     user_id = 'SINA0000001001AABBCC'
     acl[user_id] = [ACL.ACL_WRITE, ACL.ACL_READ]
     scs.update_acl(self.object_key, acl)
     #assert
     file_aclInfo = scs.acl_info(self.object_key)
     #ACL_GROUP_ANONYMOUSE
     self.assertTrue(ACL.ACL_GROUP_ANONYMOUSE in file_aclInfo['ACL'], 'The acl dose not contains GRPS000000ANONYMOUSE group')
     self.assertTrue(ACL.ACL_READ in file_aclInfo['ACL'][ACL.ACL_GROUP_ANONYMOUSE], 'The acl GRPS000000ANONYMOUSE group hasn\'t read right')
     self.assertTrue(ACL.ACL_WRITE in file_aclInfo['ACL'][ACL.ACL_GROUP_ANONYMOUSE], 'The acl GRPS000000ANONYMOUSE group hasn\'t write right')
     self.assertTrue(ACL.ACL_READ_ACP in file_aclInfo['ACL'][ACL.ACL_GROUP_ANONYMOUSE], 'The acl GRPS000000ANONYMOUSE group hasn\'t read_acp right')
     #ACL_GROUP_CANONICAL
     self.assertTrue(ACL.ACL_GROUP_CANONICAL in file_aclInfo['ACL'], 'The acl dose not contains GRPS0000000CANONICAL group')
     self.assertTrue(ACL.ACL_READ in file_aclInfo['ACL'][ACL.ACL_GROUP_CANONICAL], 'The acl GRPS0000000CANONICAL group hasn\'t read right')
     self.assertTrue(ACL.ACL_WRITE_ACP in file_aclInfo['ACL'][ACL.ACL_GROUP_CANONICAL], 'The acl GRPS0000000CANONICAL group hasn\'t write_acp right')
     self.assertTrue(ACL.ACL_READ_ACP in file_aclInfo['ACL'][ACL.ACL_GROUP_CANONICAL], 'The acl GRPS0000000CANONICAL group hasn\'t read_acp right')
     #user_id
     self.assertTrue(user_id in file_aclInfo['ACL'], 'The acl dose not contains user_id group')
     self.assertTrue(ACL.ACL_READ in file_aclInfo['ACL'][user_id], 'The acl user_id group hasn\'t read right')
     self.assertTrue(ACL.ACL_WRITE in file_aclInfo['ACL'][user_id], 'The acl user_id group hasn\'t write right')
开发者ID:SinaCloudStorage,项目名称:SinaStorage-SDK-Python,代码行数:35,代码来源:test.py

示例2: test_update_file_meta

# 需要导入模块: from sinastorage.bucket import SCSBucket [as 别名]
# 或者: from sinastorage.bucket.SCSBucket import put [as 别名]
    def test_update_file_meta(self):
        scs = SCSBucket(self.bucket_name)
        try:
            scs.put_bucket('public-read-write')
        except:
            self.fail('create bucket:%s is failed'%self.bucket_name)
        content = u'this is a file content text!!'
        scs.put(self.object_key, content)
          
        canned_acl = 'public-read-write'                #快捷ACL
        metadata = {}                                   #自定义文件属性信息
        metadata['author'] = 'dage'
        metadata['home'] = 'tianjin'
        metadata['age'] = '18'
        mimetype = 'text/plain'
        scs.update_meta(self.object_key, metadata=metadata, acl=canned_acl, mimetype=mimetype)
      
        file_info = scs.info(self.object_key)
        #assert metadata
        self.assertEqual(metadata['author'], file_info['metadata']['author'], 'The response metadata[\'author\'] is not match')
        self.assertEqual(metadata['home'], file_info['metadata']['home'], 'The response metadata[\'home\'] is not match')
        self.assertEqual(metadata['age'], file_info['metadata']['age'], 'The response metadata[\'age\'] is not match')
        #assert content-type
#         print file_info['headers']
#TODO:服务器问题         self.assertEqual(mimetype, file_info['headers']['content-type'], 'The response content-type is not match')
        #acl
        file_aclInfo = scs.acl_info(self.object_key)
        self.assertTrue(ACL.ACL_GROUP_ANONYMOUSE in file_aclInfo['ACL'], 'The acl dose not contains GRPS000000ANONYMOUSE group')
        self.assertTrue(ACL.ACL_READ in file_aclInfo['ACL'][ACL.ACL_GROUP_ANONYMOUSE], 'The acl GRPS000000ANONYMOUSE group hasn\'t read right')
        self.assertTrue(ACL.ACL_WRITE in file_aclInfo['ACL'][ACL.ACL_GROUP_ANONYMOUSE], 'The acl GRPS000000ANONYMOUSE group hasn\'t write right')
开发者ID:SinaCloudStorage,项目名称:SinaStorage-SDK-Python,代码行数:32,代码来源:test.py

示例3: test_put_file_relax

# 需要导入模块: from sinastorage.bucket import SCSBucket [as 别名]
# 或者: from sinastorage.bucket.SCSBucket import put [as 别名]
 def test_put_file_relax(self):
     scs = SCSBucket(self.bucket_name)
     try:
         scs.put_bucket('public-read-write')
     except:
         self.fail('create bucket:%s is failed'%self.bucket_name)
          
     scs.put(self.object_key, 'fileContent...fileContent...fileContent...fileContent...fileContent...')
      
     orign_file_metaResult = scs.meta(self.object_key)
      
     canned_acl = 'public-read-write'                #快捷ACL
     metadata = {}                                   #自定义文件属性信息
     metadata['author'] = 'dage'
     metadata['home'] = 'tianjin'
     metadata['age'] = '18'
     mimetype = 'text/plain'
     scs.put_relax(key=self.object_key+'_relax', sina_sha1=orign_file_metaResult['Content-SHA1'], 
                   s_sina_length=orign_file_metaResult['Size'], acl=canned_acl, 
                   metadata=metadata, mimetype=mimetype)
      
     relax_file_aclInfo = scs.acl_info(self.object_key+'_relax')
     self.assertTrue(ACL.ACL_GROUP_ANONYMOUSE in relax_file_aclInfo['ACL'], 'The acl dose not contains GRPS000000ANONYMOUSE group')
     self.assertTrue(ACL.ACL_READ in relax_file_aclInfo['ACL'][ACL.ACL_GROUP_ANONYMOUSE], 'The acl GRPS000000ANONYMOUSE group hasn\'t read right')
     self.assertTrue(ACL.ACL_WRITE in relax_file_aclInfo['ACL'][ACL.ACL_GROUP_ANONYMOUSE], 'The acl GRPS000000ANONYMOUSE group hasn\'t write right')
      
     relax_file_info = scs.info(self.object_key+'_relax')
     #assert metadata
     self.assertEqual(metadata['author'], relax_file_info['metadata']['author'], 'The response metadata[\'author\'] is not match')
     self.assertEqual(metadata['home'], relax_file_info['metadata']['home'], 'The response metadata[\'home\'] is not match')
     self.assertEqual(metadata['age'], relax_file_info['metadata']['age'], 'The response metadata[\'age\'] is not match')
     #assert content-type
     self.assertEqual(mimetype, relax_file_info['headers']['content-type'], 'The response content-type is not match')
开发者ID:SinaCloudStorage,项目名称:SinaStorage-SDK-Python,代码行数:35,代码来源:test.py

示例4: test_delete_file

# 需要导入模块: from sinastorage.bucket import SCSBucket [as 别名]
# 或者: from sinastorage.bucket.SCSBucket import put [as 别名]
 def test_delete_file(self):
     scs = SCSBucket(self.bucket_name)
     try:
         scs.put_bucket('public-read-write')
     except:
         self.fail('create bucket:%s is failed'%self.bucket_name)
           
     content = u'this is a file content text!!'
     scs.put(self.object_key, content)
       
     try:
         scs.delete(self.object_key)
     except:
         self.fail('Delete file is failed')
开发者ID:SinaCloudStorage,项目名称:SinaStorage-SDK-Python,代码行数:16,代码来源:test.py

示例5: test_file_acl_info

# 需要导入模块: from sinastorage.bucket import SCSBucket [as 别名]
# 或者: from sinastorage.bucket.SCSBucket import put [as 别名]
 def test_file_acl_info(self):
     scs = SCSBucket(self.bucket_name)
     try:
         scs.put_bucket('public-read-write')
     except:
         self.fail('create bucket:%s is failed'%self.bucket_name)
     content = u'this is a file content text!!'
     canned_acl = 'public-read-write'                #快捷ACL
     scs.put(key=self.object_key, data=content, acl=canned_acl)
       
     #acl
     file_aclInfo = scs.acl_info(self.object_key)
     self.assertTrue(ACL.ACL_GROUP_ANONYMOUSE in file_aclInfo['ACL'], 'The acl dose not contains GRPS000000ANONYMOUSE group')
     self.assertTrue(ACL.ACL_READ in file_aclInfo['ACL'][ACL.ACL_GROUP_ANONYMOUSE], 'The acl GRPS000000ANONYMOUSE group hasn\'t read right')
     self.assertTrue(ACL.ACL_WRITE in file_aclInfo['ACL'][ACL.ACL_GROUP_ANONYMOUSE], 'The acl GRPS000000ANONYMOUSE group hasn\'t write right')
开发者ID:SinaCloudStorage,项目名称:SinaStorage-SDK-Python,代码行数:17,代码来源:test.py

示例6: test_make_url_authed

# 需要导入模块: from sinastorage.bucket import SCSBucket [as 别名]
# 或者: from sinastorage.bucket.SCSBucket import put [as 别名]
    def test_make_url_authed(self):
        scs = SCSBucket(self.bucket_name)
        try:
            scs.put_bucket('private')
        except:
            self.fail('create bucket:%s is failed'%self.bucket_name)
        content = u'this is a file content text!!'
        canned_acl = 'private'                #快捷ACL
        scs.put(key=self.object_key, data=content, acl=canned_acl)
         
        url = scs.make_url_authed(key=self.object_key,expire=datetime.timedelta(minutes=5))
        #下载文件
#         import urllib2
#         response = urllib2.urlopen(url)
        from sinastorage.compat import urllib
        response = urllib.request.urlopen(url)
        self.assertEqual(len(content), int(response.info()['Content-Length']), 'The response header Content-Length is not match')
开发者ID:SinaCloudStorage,项目名称:SinaStorage-SDK-Python,代码行数:19,代码来源:test.py

示例7: test_list_bucket_files

# 需要导入模块: from sinastorage.bucket import SCSBucket [as 别名]
# 或者: from sinastorage.bucket.SCSBucket import put [as 别名]
    def test_list_bucket_files(self):
        scs = SCSBucket(self.bucket_name)
        scs.put_bucket()
          
        content = u'this is a file content text!!'
        scs.put(self.object_key,content)
      
        file_gen = scs.listdir()
          
        self.assertTrue(file_gen is not None, 'List bucket files result is None')
        for item in file_gen:
            #(name, isPrefix, sha1, expiration_time, modify, owner, md5, content_type, size)
            self.assertTrue(item[0] is not None, 'file name is None')
            self.assertTrue(item[1] is not None, 'file isPrefix is None')
            self.assertTrue(item[2] is not None, 'file sha1 is None')
#             self.assertIsNotNone(item[3], 'file expiration_time is None')
            self.assertTrue(item[4] is not None, 'file modify is None')
            self.assertTrue(item[5] is not None, 'file owner is None')
            self.assertTrue(item[6] is not None, 'file md5 is None')
            self.assertTrue(item[7] is not None, 'file content_type is None')
            self.assertTrue(item[8] is not None, 'file size is None')
开发者ID:SinaCloudStorage,项目名称:SinaStorage-SDK-Python,代码行数:23,代码来源:test.py

示例8: test_put_content

# 需要导入模块: from sinastorage.bucket import SCSBucket [as 别名]
# 或者: from sinastorage.bucket.SCSBucket import put [as 别名]
   def test_put_content(self):
       scs = SCSBucket(self.bucket_name)
       try:
           scs.put_bucket('public-read-write')
       except:
           self.fail('create bucket:%s is failed'%self.bucket_name)
       content = u'this is a file content text!!'
       scs.put(self.object_key, content)
 
       scsResponse = scs.get(self.object_key)
       CHUNK = 16 * 1024
       file_content = ''
       from sinastorage.vendored import six
       while True:
           chunk = scsResponse.read(CHUNK)
           if not chunk: break
           if isinstance(chunk, six.text_type):
               file_content += chunk
           else:
               file_content += chunk.decode("utf-8")
       self.assertEqual(content, file_content, 'The uploaded file content is not match local.%s'%file_content)
开发者ID:SinaCloudStorage,项目名称:SinaStorage-SDK-Python,代码行数:23,代码来源:test.py

示例9: test_put_content_with_conditions

# 需要导入模块: from sinastorage.bucket import SCSBucket [as 别名]
# 或者: from sinastorage.bucket.SCSBucket import put [as 别名]
   def test_put_content_with_conditions(self):
       scs = SCSBucket(self.bucket_name)
       try:
           scs.put_bucket('public-read-write')
       except:
           self.fail('create bucket:%s is failed'%self.bucket_name)
             
       content = u'this is a file content text!!'      #文件内容
       canned_acl = 'public-read-write'                #快捷ACL
       metadata = {}                                   #自定义文件属性信息
       metadata['author'] = 'dage'
       metadata['home'] = 'tianjin'
       metadata['age'] = '18'
       mimetype = 'text/plain'
       scs.put(self.object_key, content, acl=canned_acl, metadata=metadata, mimetype=mimetype)
 
       scsResponse = scs.get(self.object_key)
       CHUNK = 16 * 1024
       file_content = ''
       from sinastorage.vendored import six
       while True:
           chunk = scsResponse.read(CHUNK)
           if not chunk: break
           if isinstance(chunk, six.text_type):
               file_content += chunk
           else:
               file_content += chunk.decode("utf-8")
       #assert file_content
       self.assertEqual(content, file_content, 'The uploaded file content is not metch local.%s'%file_content)
       #assert metadata
       self.assertEqual(metadata['author'], scsResponse.responseHeaders['x-amz-meta-author'], 'The response metadata[\'author\'] is not match')
       self.assertEqual(metadata['home'], scsResponse.responseHeaders['x-amz-meta-home'], 'The response metadata[\'home\'] is not match')
       self.assertEqual(metadata['age'], scsResponse.responseHeaders['x-amz-meta-age'], 'The response metadata[\'age\'] is not match')
       #assert content-type
       self.assertEqual(mimetype, scsResponse.responseHeaders['content-type'], 'The response content-type is not match')
       #assert acl
       aclResult = scs.acl_info(self.object_key)
       self.assertTrue(ACL.ACL_GROUP_ANONYMOUSE in aclResult['ACL'], 'The acl dose not contains GRPS000000ANONYMOUSE group')
       self.assertTrue(ACL.ACL_READ in aclResult['ACL'][ACL.ACL_GROUP_ANONYMOUSE], 'The acl GRPS000000ANONYMOUSE group hasn\'t read right')
       self.assertTrue(ACL.ACL_WRITE in aclResult['ACL'][ACL.ACL_GROUP_ANONYMOUSE], 'The acl GRPS000000ANONYMOUSE group hasn\'t write right')
开发者ID:SinaCloudStorage,项目名称:SinaStorage-SDK-Python,代码行数:42,代码来源:test.py

示例10: obj_upload

# 需要导入模块: from sinastorage.bucket import SCSBucket [as 别名]
# 或者: from sinastorage.bucket.SCSBucket import put [as 别名]
def obj_upload(data, fileTag):

    """ Upload photo by object. """

    sinastorage.setDefaultAppInfo(API_KEY, API_SECRET)
    s = SCSBucket('sharephotos')
    path = time.ctime().replace(' ', '_')
    # if '/' in file name there will be problems
    filename = fileTag[:6] + '_' + path + '.jpg'  # use jpg temporary
    scs_response = s.put(filename, data)
    s.update_acl(filename, acl)
    url = s.make_url(filename)   # get url of image in the storage
    return url
开发者ID:RawEvan,项目名称:sharephotos,代码行数:15,代码来源:storage.py

示例11: test_info_file

# 需要导入模块: from sinastorage.bucket import SCSBucket [as 别名]
# 或者: from sinastorage.bucket.SCSBucket import put [as 别名]
 def test_info_file(self):
     scs = SCSBucket(self.bucket_name)
     try:
         scs.put_bucket('public-read-write')
     except:
         self.fail('create bucket:%s is failed'%self.bucket_name)
           
     content = u'this is a file content text!!'      #文件内容
     canned_acl = 'public-read-write'                #快捷ACL
     metadata = {}                                   #自定义文件属性信息
     metadata['author'] = 'dage'
     metadata['home'] = 'tianjin'
     metadata['age'] = '18'
     mimetype = 'text/plain'
     scs.put(self.object_key, content, acl=canned_acl, metadata=metadata, mimetype=mimetype)
   
     file_info = scs.info(self.object_key)
     #assert metadata
     self.assertEqual(metadata['author'], file_info['metadata']['author'], 'The response metadata[\'author\'] is not match')
     self.assertEqual(metadata['home'], file_info['metadata']['home'], 'The response metadata[\'home\'] is not match')
     self.assertEqual(metadata['age'], file_info['metadata']['age'], 'The response metadata[\'age\'] is not match')
     #assert content-type
     self.assertEqual(mimetype, file_info['headers']['content-type'], 'The response content-type is not match')
开发者ID:SinaCloudStorage,项目名称:SinaStorage-SDK-Python,代码行数:25,代码来源:test.py

示例12: url_upload

# 需要导入模块: from sinastorage.bucket import SCSBucket [as 别名]
# 或者: from sinastorage.bucket.SCSBucket import put [as 别名]
def url_upload(imgSrc='http://www.w3school.com.cn/i/site_photoref.jpg'):

    """ Upload photo by url. """

    sinastorage.setDefaultAppInfo(API_KEY, API_SECRET)
    s = SCSBucket('sharephotos')
    data = urllib2.urlopen(imgSrc).read()
    path = imgSrc.split('/')[2] + '/%s__' % time.ctime()
    # if '/' in file name there will be problems
    filename = path + imgSrc.replace('/', '_')
    scs_response = s.put(filename, data)
    s.update_acl(filename, acl)
    url = s.make_url(filename)   # get url of image in the storage
    return url
开发者ID:RawEvan,项目名称:sharephotos,代码行数:16,代码来源:storage.py

示例13: run

# 需要导入模块: from sinastorage.bucket import SCSBucket [as 别名]
# 或者: from sinastorage.bucket.SCSBucket import put [as 别名]
 def run(self):
     try:
         self.mutex.lock()
         self.state = RunnableState.RUNNING
         s = SCSBucket(self.bucketName)
         scsResponse = s.put(self.key,'')
         self.response =  scsResponse
         self.response.close()
     except SCSError, e:
         self.state = RunnableState.DID_FAILED
         self.response = SCSResponse(e.urllib2Request, e.urllib2Response)
         self.response._responseBody = e.data
         self.emitter.emit(QtCore.SIGNAL("CreateFolderDidFailed(PyQt_PyObject,PyQt_PyObject)"), self, e.msg)
         return
开发者ID:vfhky,项目名称:SCS_Client,代码行数:16,代码来源:Runnables.py

示例14: storeImage

# 需要导入模块: from sinastorage.bucket import SCSBucket [as 别名]
# 或者: from sinastorage.bucket.SCSBucket import put [as 别名]
def storeImage(imgSrc):
    sinastorage.setDefaultAppInfo("1cjfyo5kQPdnsI3cUc6W", "a3c139370a3509f269331930515729747573aa10")
    djBucket = SCSBucket("dj-images")  # not dj_images
    acl = {}  # Access control list
    acl[ACL.ACL_GROUP_ANONYMOUSE] = [ACL.ACL_READ]

    data = urllib2.urlopen(imgSrc).read()
    path = imgSrc.split("/")[2] + "/"
    # if '/' in file name there will be problems
    filename = path + imgSrc.replace("/", "@")
    scsResponse = djBucket.put(filename, data)  # upload the file
    stUrl = djBucket.make_url(filename)  # get url of image in the storage
    djBucket.update_acl(filename, acl)  # set acl for the file

    # save infomation to sql
    try:
        imgstorage.objects.get_or_create(original_url=imgSrc, storage_url=stUrl)
    except:
        print "insert into mysql error"
        pass  # solve this later

    return stUrl
开发者ID:AugustLONG,项目名称:images_spider,代码行数:24,代码来源:storage.py

示例15: int

# 需要导入模块: from sinastorage.bucket import SCSBucket [as 别名]
# 或者: from sinastorage.bucket.SCSBucket import put [as 别名]
                timestamp = int(calendar.timegm(timestamp.utctimetuple()))
                length_file = int(r[8])
                yield fuse.Direntry(name=tmp_name, st_mode=stat.S_IFREG | 0755, st_nlink=1, st_size=length_file,st_atime=timestamp,st_mtime=timestamp,st_ctime=timestamp)

    def mkdir(self, path, mode):
        if path.startswith('/'):
            path = path[1:]
        if not path.endswith('/'):
            path = path+'/'
        
        try:
            finfo = s.info(path)
            return -errno.ENOTEMPTY
        except Exception, e:
            pass
        s.put(path, u'')

    def unlink(self, path):
        if path.startswith('/'):
            path = path[1:]
        del s[path]

    class XmpFile(object):

        def __init__(self, path, flags, *mode):
            (tmp_f, tmp_path) = tempfile.mkstemp(prefix='scs')
            os.close(tmp_f)
            try:
                download(path, tmp_path)
            except Exception, e:
                pass
开发者ID:vfhky,项目名称:scs-fuse,代码行数:33,代码来源:online.py


注:本文中的sinastorage.bucket.SCSBucket.put方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。