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


Python BundleService.get_bundle_info方法代码示例

本文整理汇总了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)})
开发者ID:Rudianasaja,项目名称:codalab,代码行数:52,代码来源:worksheet_views.py

示例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)})
开发者ID:TPNguyen,项目名称:codalab,代码行数:51,代码来源:worksheet_views.py

示例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))
开发者ID:TPNguyen,项目名称:codalab,代码行数:35,代码来源:worksheet_views.py

示例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
开发者ID:samarjeet,项目名称:codalab,代码行数:9,代码来源:views.py

示例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)
开发者ID:Rudianasaja,项目名称:codalab,代码行数:31,代码来源:worksheet_views.py

示例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
开发者ID:samarjeet,项目名称:codalab,代码行数:11,代码来源:views.py

示例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
开发者ID:klopyrev,项目名称:codalab-worksheets,代码行数:13,代码来源:views.py

示例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)})
开发者ID:klopyrev,项目名称:codalab-worksheets,代码行数:41,代码来源:worksheet_views.py

示例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)
开发者ID:klopyrev,项目名称:codalab-worksheets,代码行数:16,代码来源:worksheet_views.py

示例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))
开发者ID:samarjeet,项目名称:codalab,代码行数:22,代码来源:worksheet_views.py


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