Пример #1
0
    def test_process_zipfile_page_limit(self):
        upload_file = BytesIO()
        upload_file_zip = zipfile.ZipFile(upload_file, 'w')
        for i in range(MANGA_PAGE_LIMIT+1):
            upload_file_zip.writestr('{0:03d}.png'.format(i), bytes('0', 'utf-8'))
        upload_file_zip.close()

        errors = process_zipfile(self.manga, SimpleUploadedFile('test.zip', upload_file.getvalue()), self.user)
        self.assertEqual(errors[0], 'The zip archive contains more than 100 images, some images were ignored.')
Пример #2
0
    def post(self, request, id, slug):
        manga = self.get_manga_for_edit(id)
        if 'zipfile' in request.FILES:
            errors = process_zipfile(manga, request.FILES.get('zipfile'), request.user)
        elif 'images' in request.FILES:
            errors = process_images(manga, request.FILES.getlist('images', []), request.user)
        else:
            raise Http404

        if errors:
            messages.error(request, '\n'.join(errors))

        return redirect('manga.edit.images', id=manga.id, slug=manga.slug)
Пример #3
0
    def test_process_zipfile(self):
        initial_page_count = MangaPage.objects.filter(manga=self.manga).count()
        content = self.create_test_image_file().getvalue()

        upload_file = BytesIO()
        upload_file_zip = zipfile.ZipFile(upload_file, 'w')
        upload_file_zip.writestr('01.png', bytes(content))
        upload_file_zip.writestr('02.png', bytes(content))
        upload_file_zip.writestr('03.png', bytes('0', 'utf-8'))
        upload_file_zip.close()

        errors = process_zipfile(self.manga, SimpleUploadedFile('test.zip', upload_file.getvalue()), self.user)
        self.assertEqual(errors, ['03.png failed to verify as an image file.'])

        actual_page_count = MangaPage.objects.filter(manga=self.manga).count()
        self.assertEqual(initial_page_count+2, actual_page_count)
Пример #4
0
 def test_process_zipfile_invalid(self):
     errors = process_zipfile(self.manga, BytesIO(), self.user)
     self.assertEqual(errors, ['The uploaded file is not a valid zip file.'])