本文整理汇总了Python中apps.web.bundles.BundleService.get_bundle_info方法的典型用法代码示例。如果您正苦于以下问题:Python BundleService.get_bundle_info方法的具体用法?Python BundleService.get_bundle_info怎么用?Python BundleService.get_bundle_info使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类apps.web.bundles.BundleService
的用法示例。
在下文中一共展示了BundleService.get_bundle_info方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: post
# 需要导入模块: from apps.web.bundles import BundleService [as 别名]
# 或者: from apps.web.bundles.BundleService import get_bundle_info [as 别名]
def post(self, request, uuid):
user_id = self.request.user.id
logger.debug("BundleInfo: user_id=%s; uuid=%s.", user_id, uuid)
service = BundleService(self.request.user)
try:
bundle_info = service.get_bundle_info(uuid)
if bundle_info['owner_id'] == str(self.request.user.id):
data = json.loads(request.body)
new_metadata = data['metadata']
#clean up stuff
if new_metadata.get('data_size', None):
new_metadata.pop('data_size')
if new_metadata.get('created', None):
new_metadata.pop('created')
if new_metadata.get('time', None):
new_metadata.pop('time')
if new_metadata.get('tags', None):
tags = new_metadata['tags']
tags = tags.split(',')
new_metadata['tags'] = tags
else:
new_metadata['tags'] = []
if new_metadata.get('language', None) or new_metadata.get('language') == u'':
language = new_metadata['language']
language = language.split(',')
new_metadata['language'] = language
if new_metadata.get('architectures', None):
architectures = new_metadata['architectures']
architectures = architectures.split(',')
new_metadata['architectures'] = architectures
# update and return
# json load only gives string, convert them into needed type
new_metadata['request_cpus'] = int(new_metadata['request_cpus']);
new_metadata['request_gpus'] = int(new_metadata['request_gpus']);
new_metadata['request_priority'] = int(new_metadata['request_priority']);
new_metadata['actions'] = new_metadata['actions'].split();
new_metadata['exitcode'] = int(new_metadata['exitcode']);
print new_metadata
service.update_bundle_metadata(uuid, new_metadata)
bundle_info = service.get_bundle_info(uuid)
return Response(bundle_info, content_type="application/json")
except Exception as e:
tb = traceback.format_exc()
log_exception(self, e, tb)
return Response({'error': smart_str(e)})
示例2: post
# 需要导入模块: from apps.web.bundles import BundleService [as 别名]
# 或者: from apps.web.bundles.BundleService import get_bundle_info [as 别名]
def post(self, request, uuid):
user_id = self.request.user.id
logger.debug("BundleInfo: user_id=%s; uuid=%s.", user_id, uuid)
service = BundleService(self.request.user)
try:
bundle_info = service.get_bundle_info(uuid)
if bundle_info['owner_id'] == str(self.request.user.id):
data = json.loads(request.body)
new_metadata = data['metadata']
#clean up stuff
if new_metadata.get('data_size', None):
new_metadata.pop('data_size')
if new_metadata.get('created', None):
new_metadata.pop('created')
if new_metadata.get('time', None):
new_metadata.pop('time')
if new_metadata.get('tags', None):
tags = new_metadata['tags']
tags = tags.split(',')
new_metadata['tags'] = tags
else:
new_metadata['tags'] = []
if new_metadata.get('language', None) or new_metadata.get('language') == u'':
language = new_metadata['language']
language = language.split(',')
new_metadata['language'] = language
if new_metadata.get('architectures', None):
architectures = new_metadata['architectures']
architectures = architectures.split(',')
new_metadata['architectures'] = architectures
# update and return
print new_metadata
service.update_bundle_metadata(uuid, new_metadata)
bundle_info = service.get_bundle_info(uuid)
return Response(bundle_info, content_type="application/json")
except Exception as e:
logging.error(self.__str__())
logging.error(smart_str(e))
logging.error('')
logging.debug('-------------------------')
tb = traceback.format_exc()
logging.error(tb)
logging.debug('-------------------------')
return Response({'error': smart_str(e)})
示例3: get
# 需要导入模块: from apps.web.bundles import BundleService [as 别名]
# 或者: from apps.web.bundles.BundleService import get_bundle_info [as 别名]
def get(self, request, uuid):
user_id = self.request.user.id
logger.debug("BundleInfo: user_id=%s; uuid=%s.", user_id, uuid)
service = BundleService(self.request.user)
try:
bundle_info = service.get_bundle_info(uuid)
target = (uuid, '')
info = service.get_target_info(target, 2) # 2 is the depth to retrieve
bundle_info['stdout'] = None
bundle_info['stderr'] = None
#if we have std out or err update it.
contents = info.get('contents')
if contents:
for item in contents:
if item['name'] in ['stdout', 'stderr']:
lines = service.head_target((uuid, item['name']), 100)
if lines:
lines = ' '.join(lines)
bundle_info[item['name']] = lines
bundle_info['edit_permission'] = False
if bundle_info['owner_id'] == str(self.request.user.id):
bundle_info['edit_permission'] = True
return Response(bundle_info, content_type="application/json")
except Exception as e:
logging.error(self.__str__())
logging.error(smart_str(e))
logging.error('')
logging.debug('-------------------------')
tb = traceback.format_exc()
logging.error(tb)
logging.debug('-------------------------')
return Response(status=service.http_status_from_exception(e))
示例4: get_context_data
# 需要导入模块: from apps.web.bundles import BundleService [as 别名]
# 或者: from apps.web.bundles.BundleService import get_bundle_info [as 别名]
def get_context_data(self, **kwargs):
context = super(BundleDetailView, self).get_context_data(**kwargs)
uuid = kwargs.get('uuid')
service = BundleService(self.request.user)
bundle_info = service.get_bundle_info(uuid)
context['bundle'] = bundle_info
return context
示例5: get
# 需要导入模块: from apps.web.bundles import BundleService [as 别名]
# 或者: from apps.web.bundles.BundleService import get_bundle_info [as 别名]
def get(self, request, uuid):
user_id = self.request.user.id
logger.debug("BundleInfo: user_id=%s; uuid=%s.", user_id, uuid)
service = BundleService(self.request.user)
try:
bundle_info = service.get_bundle_info(uuid)
target = (uuid, '')
info = service.get_target_info(target, 2) # 2 is the depth to retrieve
bundle_info['stdout'] = None
bundle_info['stderr'] = None
#if we have std out or err update it.
contents = info.get('contents')
if contents:
for item in contents:
if item['name'] in ['stdout', 'stderr']:
lines = service.head_target((uuid, item['name']), 100)
if lines:
import base64
lines = ' '.join(map(base64.b64decode, lines))
bundle_info[item['name']] = lines
bundle_info['edit_permission'] = False
if bundle_info['owner_id'] == str(self.request.user.id):
bundle_info['edit_permission'] = True
return Response(bundle_info, content_type="application/json")
except Exception as e:
tb = traceback.format_exc()
log_exception(self, e, tb)
return Response({"error": smart_str(e)}, status=500)
示例6: BundleDownload
# 需要导入模块: from apps.web.bundles import BundleService [as 别名]
# 或者: from apps.web.bundles.BundleService import get_bundle_info [as 别名]
def BundleDownload(request, uuid):
service = BundleService(request.user)
local_path, temp_path = service.download_target(uuid, return_zip=True)
item = service.get_bundle_info(uuid)
response = StreamingHttpResponse(service.read_file(uuid, local_path), content_type="zip")
response['Content-Disposition'] = 'attachment; filename="%s.zip"' % item['metadata']['name']
return response
示例7: get_context_data
# 需要导入模块: from apps.web.bundles import BundleService [as 别名]
# 或者: from apps.web.bundles.BundleService import get_bundle_info [as 别名]
def get_context_data(self, **kwargs):
context = super(BundleDetailView, self).get_context_data(**kwargs)
uuid = kwargs.get("uuid")
service = BundleService(self.request.user)
bundle_info = service.get_bundle_info(uuid)
if bundle_info:
context["bundle"] = bundle_info
context["bundle_title"] = bundle_info.get("metadata", {}).get("name", "")
else:
context["error"] = "Invalid or inaccessible bundle uuid: " + uuid
return context
示例8: post
# 需要导入模块: from apps.web.bundles import BundleService [as 别名]
# 或者: from apps.web.bundles.BundleService import get_bundle_info [as 别名]
def post(self, request, uuid):
'''
Save metadata information for a bundle.
'''
user_id = self.request.user.id
logger.debug("BundleInfo: user_id=%s; uuid=%s.", user_id, uuid)
service = BundleService(self.request.user)
try:
bundle_info = service.get_bundle_info(uuid)
# Save only if we're the owner.
if bundle_info['edit_permission']:
data = json.loads(request.body)
new_metadata = data['metadata']
# TODO: do this generally based on the CLI specs.
# Remove generated fields.
for key in ['data_size', 'created', 'time', 'memory', 'exitcode', 'actions', 'started', 'last_updated']:
if key in new_metadata:
del new_metadata[key]
# Convert to arrays
for key in ['tags', 'language', 'architectures']:
if key in new_metadata and isinstance(new_metadata[key], basestring):
new_metadata[key] = new_metadata[key].split(',')
# Convert to ints
for key in ['request_cpus', 'request_gpus', 'request_priority']:
if key in new_metadata:
new_metadata[key] = int(new_metadata[key])
service.update_bundle_metadata(uuid, new_metadata)
bundle_info = service.get_bundle_info(uuid)
return Response(bundle_info, content_type="application/json")
else:
return Response({'error': 'Can\'t save unless you\'re the owner'})
except Exception as e:
tb = traceback.format_exc()
log_exception(self, e, tb)
return Response({'error': smart_str(e)})
示例9: get
# 需要导入模块: from apps.web.bundles import BundleService [as 别名]
# 或者: from apps.web.bundles.BundleService import get_bundle_info [as 别名]
def get(self, request, uuid):
user_id = self.request.user.id
logger.debug("BundleInfo: user_id=%s; uuid=%s.", user_id, uuid)
service = BundleService(self.request.user)
try:
bundle_info = service.get_bundle_info(uuid)
if bundle_info is None:
return Response({'error': 'The bundle is not available'})
bundle_info.update(service.get_bundle_contents(uuid))
return Response(bundle_info, content_type="application/json")
except Exception as e:
tb = traceback.format_exc()
log_exception(self, e, tb)
return Response({'error': smart_str(e)}, status=500)
示例10: get
# 需要导入模块: from apps.web.bundles import BundleService [as 别名]
# 或者: from apps.web.bundles.BundleService import get_bundle_info [as 别名]
def get(self, request, uuid):
user_id = self.request.user.id
logger.debug("BundleInfo: user_id=%s; uuid=%s.", user_id, uuid)
service = BundleService(self.request.user)
try:
bundle_info = service.get_bundle_info(uuid)
print bundle_info
bundle_info['edit_permission'] = False
if bundle_info['owner_id'] == str(self.request.user.id):
bundle_info['edit_permission'] = True
return Response(bundle_info, content_type="application/json")
except Exception as e:
logging.error(self.__str__())
logging.error(smart_str(e))
logging.error('')
logging.debug('-------------------------')
tb = traceback.format_exc()
logging.error(tb)
logging.debug('-------------------------')
return Response(status=service.http_status_from_exception(e))