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()
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()
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())