本文整理汇总了Python中swiftclient.client.put_object函数的典型用法代码示例。如果您正苦于以下问题:Python put_object函数的具体用法?Python put_object怎么用?Python put_object使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了put_object函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_main
def test_main(self):
container = 'container-%s' % uuid4()
client.put_container(self.url, self.token, container)
apart, anodes = self.account_ring.get_nodes(self.account)
anode = anodes[0]
cpart, cnodes = self.container_ring.get_nodes(self.account, container)
cnode = cnodes[0]
kill(self.pids[self.port2server[cnode['port']]], SIGTERM)
obj = 'object-%s' % uuid4()
client.put_object(self.url, self.token, container, obj, '')
self.pids[self.port2server[cnode['port']]] = \
Popen(['swift-container-server',
'/etc/swift/container-server/%d.conf' %
((cnode['port'] - 6001) / 10)]).pid
sleep(2)
self.assert_(not direct_client.direct_get_container(cnode, cpart,
self.account, container)[1])
ps = []
for n in xrange(1, 5):
ps.append(Popen(['swift-object-updater',
'/etc/swift/object-server/%d.conf' % n, 'once']))
for p in ps:
p.wait()
objs = [o['name'] for o in direct_client.direct_get_container(cnode,
cpart, self.account, container)[1]]
self.assert_(obj in objs)
示例2: uploadNote
def uploadNote(self, note, title):
if len(title) == 0:
title = self._generateObjectTitle(note.getTitle())
metaManager = MetaManager(self._storage_url, self._token, title)
currentCreateDate = metaManager.getCreateDate()
content = note.getContent().encode('ascii', 'ignore')
put_object(
self._storage_url,
self._token,
Configuration.container_name,
title,
content)
lastModifiedDate = MetaManager.dateNow()
# currentCreateDate may be None because note may be new
# this comment is just a companion for the one above, he felt lonely
if currentCreateDate is None:
currentCreateDate = lastModifiedDate
metaManager.setCreateDate(currentCreateDate)
metaManager.setLastModifiedDate(lastModifiedDate)
# we only need to keep the previous tags, NONE IS CORRECT DO NOT CHANGE
metaManager.setTags(None)
metaManager.commitMeta()
print title
return title
示例3: put_file_as_storlet_input_object
def put_file_as_storlet_input_object(url, token, local_path, local_file):
resp = dict()
f = open("%s/%s" % (local_path, local_file), "r")
c.put_object(url, token, "myobjects", local_file, f, content_type="application/octet-stream", response_dict=resp)
f.close()
status = resp.get("status")
assert status == 200 or status == 201
示例4: test_main
def test_main(self):
# Create container
container = 'container-%s' % uuid4()
client.put_container(self.url, self.token, container)
# Kill container servers excepting two of the primaries
cpart, cnodes = self.container_ring.get_nodes(self.account, container)
cnode = cnodes[0]
kill_nonprimary_server(cnodes, self.ipport2server, self.pids)
kill_server((cnode['ip'], cnode['port']),
self.ipport2server, self.pids)
# Create container/obj
obj = 'object-%s' % uuid4()
client.put_object(self.url, self.token, container, obj, '')
# Restart other primary server
start_server((cnode['ip'], cnode['port']),
self.ipport2server, self.pids)
# Assert it does not know about container/obj
self.assert_(not direct_client.direct_get_container(
cnode, cpart, self.account, container)[1])
# Run the object-updaters
Manager(['object-updater']).once()
# Assert the other primary server now knows about container/obj
objs = [o['name'] for o in direct_client.direct_get_container(
cnode, cpart, self.account, container)[1]]
self.assert_(obj in objs)
示例5: create_pseudofolder
def create_pseudofolder(request, container, prefix=None):
""" Creates a pseudofolder (empty object of type application/directory) """
storage_url = request.session.get('storage_url', '')
auth_token = request.session.get('auth_token', '')
form = PseudoFolderForm(request.POST)
if form.is_valid():
foldername = request.POST.get('foldername', None)
if prefix:
foldername = prefix + '/' + foldername
foldername = os.path.normpath(foldername)
foldername = foldername.strip('/')
foldername += '/'
content_type = 'application/directory'
obj = None
try:
client.put_object(storage_url, auth_token,
container, foldername, obj,
content_type=content_type)
messages.add_message(request, messages.INFO,
_("Pseudofolder created."))
except client.ClientException:
traceback.print_exc()
messages.add_message(request, messages.ERROR, _("Access denied."))
if prefix:
return redirect(objectview, container=container, prefix=prefix)
return redirect(objectview, container=container)
return render_to_response('create_pseudofolder.html', {
'container': container,
'prefix': prefix,
}, context_instance=RequestContext(request))
示例6: test_one_node_fails
def test_one_node_fails(self):
# Create container1
# Kill container1 servers excepting two of the primaries
# Delete container1
# Restart other container1 primary server
# Create container1/object1 (allowed because at least server thinks the
# container exists)
# Get to a final state
# Assert all container1 servers indicate container1 is alive and
# well with object1
# Assert account level also indicates container1 is alive and
# well with object1
container1 = 'container-%s' % uuid4()
cpart, cnodes = self.container_ring.get_nodes(self.account, container1)
client.put_container(self.url, self.token, container1)
kill_nonprimary_server(cnodes, self.port2server, self.pids)
kill_server(cnodes[0]['port'], self.port2server, self.pids)
client.delete_container(self.url, self.token, container1)
start_server(cnodes[0]['port'], self.port2server, self.pids)
client.put_object(self.url, self.token, container1, 'object1', '123')
get_to_final_state()
for cnode in cnodes:
self.assertEquals(
[o['name'] for o in direct_client.direct_get_container(
cnode, cpart, self.account, container1)[1]],
['object1'])
headers, containers = client.get_account(self.url, self.token)
self.assertEquals(headers['x-account-container-count'], '1')
self.assertEquals(headers['x-account-object-count'], '1')
self.assertEquals(headers['x-account-bytes-used'], '3')
示例7: test_sync_lazy_dkey
def test_sync_lazy_dkey(self):
# Create synced containers, but with no key at dest
source_container, dest_container =\
self._setup_synced_containers('secret', None)
# upload to source
object_name = 'object-%s' % uuid.uuid4()
client.put_object(self.url, self.token, source_container, object_name,
'test-body')
# cycle container-sync, nothing should happen
Manager(['container-sync']).once()
with self.assertRaises(ClientException) as err:
_junk, body = client.get_object(self.url, self.token,
dest_container, object_name)
self.assertEqual(err.exception.http_status, HTTP_NOT_FOUND)
# amend dest key
dest_headers = {'X-Container-Sync-Key': 'secret'}
client.put_container(self.url, self.token, dest_container,
headers=dest_headers)
# cycle container-sync, should replicate
Manager(['container-sync']).once()
_junk, body = client.get_object(self.url, self.token,
dest_container, object_name)
self.assertEqual(body, 'test-body')
示例8: createEmptyResource
def createEmptyResource(self, name):
client.put_object(self.storage_url,
self.auth_token,
self.container,
sanitize(name),
http_conn=self.http_connection)
return ObjectResource(self.container, name, self.environ, self.objects)
示例9: copyMoveSingle
def copyMoveSingle(self, destPath, isMove):
src = '/'.join(self.path.split('/')[2:])
dst = '/'.join(destPath.split('/')[2:])
src_cont = self.path.split('/')[1]
dst_cont = destPath.split('/')[1]
if self.is_subdir(src):
client.put_object(self.storage_url,
self.auth_token,
dst_cont,
dst.rstrip('/') + '/',
content_type='application/directory',
http_conn=self.http_connection)
return
headers = {'X-Copy-From': self.path}
try:
client.put_object(self.storage_url,
self.auth_token,
dst_cont,
dst,
headers=headers,
http_conn=self.http_connection)
if isMove:
client.delete_object(self.storage_url,
self.auth_token,
src_cont,
src,
http_conn=self.http_connection)
except client.ClientException:
pass
示例10: test_main
def test_main(self):
# Create container
# Kill container servers excepting two of the primaries
# Create container/obj
# Restart other primary server
# Assert it does not know about container/obj
# Run the object-updaters
# Assert the other primary server now knows about container/obj
container = 'container-%s' % uuid4()
client.put_container(self.url, self.token, container)
cpart, cnodes = self.container_ring.get_nodes(self.account, container)
cnode = cnodes[0]
kill_nonprimary_server(cnodes, self.port2server, self.pids)
kill_server(cnode['port'], self.port2server, self.pids)
obj = 'object-%s' % uuid4()
client.put_object(self.url, self.token, container, obj, '')
start_server(cnode['port'], self.port2server, self.pids)
self.assert_(not direct_client.direct_get_container(
cnode, cpart, self.account, container)[1])
processes = []
for node in xrange(1, 5):
processes.append(Popen(['swift-object-updater',
'/etc/swift/object-server/%d.conf' % node,
'once']))
for process in processes:
process.wait()
objs = [o['name'] for o in direct_client.direct_get_container(
cnode, cpart, self.account, container)[1]]
self.assert_(obj in objs)
示例11: testTestStorlet
def testTestStorlet(url, token):
print "Deploying test storlet"
put_storlet_object(url,
token,
TEST_STORLET_NAME,
"%s/TestStorlet/bin/" % PATH_TO_STORLETS,
'',
'com.ibm.storlet.test.test1')
print "uploading object to execute test upon"
c.put_object(url,
token,
'myobjects',
'test_object',
'some content')
print "Invoking test storlet to print"
invokeTestStorlet(url, token, "print", False)
print "Invoking test storlet to crash"
invokeTestStorlet(url, token, "crash")
print "Invoking test storlet to hold"
invokeTestStorlet(url, token, "hold")
print "Invoking test storlet to print"
invokeTestStorlet(url, token, "print", False)
print "Invoking test storlet in parallel to print"
invokeTestStorletinParallel(url, token)
示例12: handleCopy
def handleCopy(self, destPath, depthInfinity):
dst = '/'.join(destPath.split('/')[2:])
try:
client.head_object(self.storage_url,
self.auth_token,
self.container,
dst,
http_conn=self.http_connection)
except client.ClientException:
pass
headers = {'X-Copy-From': self.path}
try:
client.put_object(self.storage_url,
self.auth_token,
self.container,
dst,
headers=headers,
http_conn=self.http_connection)
if self.environ.get("HTTP_OVERWRITE", '') != "T":
raise DAVError(HTTP_CREATED)
return True
except client.ClientException:
return False
示例13: create_pseudofolder_from_prefix
def create_pseudofolder_from_prefix(storage_url, auth_token, container,
prefix, prefixlist):
#Recursively creates pseudofolders from a given prefix, if the
#prefix is not included in the prefixlist
subprefix = '/'.join(prefix.split('/')[0:-1])
if subprefix == '' or prefix in prefixlist:
return prefixlist
prefixlist = create_pseudofolder_from_prefix(
storage_url,
auth_token,
container,
subprefix,
prefixlist)
content_type = 'application/directory'
obj = None
client.put_object(
storage_url,
auth_token,
container,
prefix + '/',
obj,
content_type=content_type)
prefixlist.append(prefix)
return prefixlist
示例14: convert
def convert(vid_format, videos, local_file, container, storage_url, auth_token, this_id, id_original, c):
temp_file = videos[vid_format]['temp_file']
headers = _get_video_headers(storage_url, auth_token, container, this_id)
conv = c.convert(local_file, temp_file, videos[vid_format]['options'])
for ftimecode in conv:
timecode = int(ftimecode * 100)
if timecode == 100:
break
video_keys[id_original][vid_format + 'status'] = int(timecode)
headers['X-Object-Meta-Status'] = timecode
client.post_object(storage_url, auth_token, container, this_id, headers=headers)
print "Converting %s (%f) ...%s\n" % (vid_format, timecode, local_file)
if os.path.exists(temp_file):
size = os.path.getsize(temp_file)
print '\n\nSIZE: ', size, '\n\n'
headers = _get_video_headers(storage_url, auth_token, container, this_id)
headers['X-Object-Meta-Content-Type'] = 'video/' + vid_format
headers['X-Object-Meta-Status'] = 100
try:
with open(temp_file, 'r+b') as f:
client.put_object(storage_url, auth_token, container, this_id, f, headers=headers)
except swift_exception.ClientException as e:
storage_url, auth_token = _reauthorize(request)
with open(temp_file, 'r+b') as f:
client.put_object(storage_url, auth_token, container, this_id, f, headers=headers)
video_keys[id_original][vid_format + 'status'] = 100
if os.path.exists(temp_file):
os.remove(temp_file)
示例15: create_pseudofolder
def create_pseudofolder(request, container, prefix=None):
""" Creates a pseudofolder (empty object of type application/directory) """
storage_url = request.session.get('storage_url', '')
auth_token = request.session.get('auth_token', '')
form = PseudoFolderForm(request.POST)
if form.is_valid():
foldername = request.POST.get('foldername', None)
if prefix:
foldername = prefix + '/' + foldername
foldername = os.path.normpath(foldername)
foldername = foldername.strip('/')
foldername += '/'
content_type = 'application/directory'
obj = None
try:
client.put_object(storage_url, auth_token,
container, foldername, obj,
content_type=content_type)
messages.add_message(
request,
messages.SUCCESS,
_(
"The folder " +
request.POST.get('foldername', None) + " was created.")
)
except client.ClientException:
messages.add_message(request, messages.ERROR, _("Access denied."))
return JsonResponse({})