Beispiel #1
0
    def create_blocklisted_version(self):
        """
        Creates a new version who's file is the blocklisted app found in /media
        and sets status to STATUS_BLOCKLISTED.

        """
        blocklisted_path = os.path.join(settings.MEDIA_ROOT, 'packaged-apps',
                                        'blocklisted.zip')
        last_version = self.current_version.version
        v = Version.objects.create(addon=self,
                                   version='blocklisted-%s' % last_version)
        f = File(version=v,
                 status=amo.STATUS_BLOCKED,
                 platform=Platform.objects.get(id=amo.PLATFORM_ALL.id))
        f.filename = f.generate_filename()
        copy_stored_file(blocklisted_path, f.file_path)
        log.info(u'[Webapp:%s] Copied blocklisted app from %s to %s' %
                 (self.id, blocklisted_path, f.file_path))
        f.size = storage.size(f.file_path)
        f.hash = f.generate_hash(f.file_path)
        f.save()
        f.inject_ids()
        self.sign_if_packaged(v.pk)
        self.status = amo.STATUS_BLOCKED
        self._current_version = v
        self.save()
Beispiel #2
0
    def create_blocklisted_version(self):
        """
        Creates a new version who's file is the blocklisted app found in /media
        and sets status to STATUS_BLOCKLISTED.

        """
        blocklisted_path = os.path.join(settings.MEDIA_ROOT, 'packaged-apps',
                                        'blocklisted.zip')
        last_version = self.current_version.version
        v = Version.objects.create(
            addon=self, version='blocklisted-%s' % last_version)
        f = File(version=v, status=amo.STATUS_BLOCKED,
                 platform=Platform.objects.get(id=amo.PLATFORM_ALL.id))
        f.filename = f.generate_filename()
        copy_stored_file(blocklisted_path, f.file_path)
        log.info(u'[Webapp:%s] Copied blocklisted app from %s to %s' % (
            self.id, blocklisted_path, f.file_path))
        f.size = storage.size(f.file_path)
        f.hash = f.generate_hash(f.file_path)
        f.save()
        f.inject_ids()
        self.sign_if_packaged(v.pk)
        self.status = amo.STATUS_BLOCKED
        self._current_version = v
        self.save()
Beispiel #3
0
def upload_file(request):
    if request.method == 'POST':
        form = FlieForm(request.POST, request.FILES)
        if form.is_valid():
            obj = File()
            f = request.FILES['FileField']
            cover = request.FILES['cover']
            handle_uploaded_file(f)
            handle_uploaded_file_cover(cover)
            obj.title = form.cleaned_data['title']
            obj.category = form.cleaned_data['category']
            obj.introduction = form.cleaned_data['introduction']
            obj.developer = form.cleaned_data['developer']
            obj.tag = form.cleaned_data['tag']
            obj.support_system = form.cleaned_data['support_system']
            obj.language = form.cleaned_data['language']
            obj.version = form.cleaned_data['version']
            obj.author = request.user.username
            obj.FileField = f
            obj.cover = cover
            obj.size = f.size / (1024**2)
            obj.unique_name = f.name
            obj.save()
            predata = list(File.objects.all())
            data_processing(predata, obj)
            return HttpResponseRedirect('/upload/success/')
        else:
            form = FlieForm()
            return render_to_response(
                'upload.html',
                RequestContext(request, {
                    'errors': u'请正确填写',
                    'form': form
                }))

    else:
        form = FlieForm()
        return render(request, 'upload.html', locals())