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


Python Addon.create_addon_from_upload_data方法代码示例

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


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

示例1: put

# 需要导入模块: from addons.models import Addon [as 别名]
# 或者: from addons.models.Addon import create_addon_from_upload_data [as 别名]
    def put(self, request, addon, version_string):
        if 'upload' in request.FILES:
            filedata = request.FILES['upload']
        else:
            return Response(
                {'error': _('Missing "upload" key in multipart file data.')},
                status=status.HTTP_400_BAD_REQUEST)

        try:
            # Parse the file to get and validate package data with the addon.
            pkg = parse_addon(filedata, addon)
            if not acl.submission_allowed(request.user, pkg):
                raise forms.ValidationError(
                    _(u'You cannot submit this type of add-ons'))
        except forms.ValidationError as e:
            return Response({'error': e.message},
                            status=status.HTTP_400_BAD_REQUEST)
        if pkg['version'] != version_string:
            return Response(
                {'error': _('Version does not match install.rdf.')},
                status=status.HTTP_400_BAD_REQUEST)
        elif (addon is not None and
                addon.versions.filter(
                    version=version_string,
                    files__status__in=amo.REVIEWED_STATUSES).exists()):
            return Response({'error': _('Version already exists.')},
                            status=status.HTTP_409_CONFLICT)

        if addon is None:
            addon = Addon.create_addon_from_upload_data(
                data=pkg, user=request.user, is_listed=False)
            status_code = status.HTTP_201_CREATED
        else:
            status_code = status.HTTP_202_ACCEPTED

        file_upload = handle_upload(
            filedata=filedata, user=request.user, addon=addon, submit=True)

        return Response(FileUploadSerializer(file_upload).data,
                        status=status_code)
开发者ID:thefourtheye,项目名称:olympia,代码行数:42,代码来源:views.py


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