mirror of
https://github.com/ajurna/cbwebreader.git
synced 2025-12-06 06:17:17 +00:00
removed proccess_comic_pages and replaced with verify pages as that is far superior
This commit is contained in:
@@ -251,7 +251,7 @@ class ComicBook(models.Model):
|
|||||||
return comic_file_name
|
return comic_file_name
|
||||||
|
|
||||||
if archive_type == 'archive':
|
if archive_type == 'archive':
|
||||||
ComicBook.process_comic_pages(archive, book)
|
book.verify_pages()
|
||||||
elif archive_type == 'pdf':
|
elif archive_type == 'pdf':
|
||||||
with atomic():
|
with atomic():
|
||||||
for page_index in range(archive.getNumPages()):
|
for page_index in range(archive.getNumPages()):
|
||||||
@@ -261,20 +261,6 @@ class ComicBook(models.Model):
|
|||||||
page.save()
|
page.save()
|
||||||
return book
|
return book
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def process_comic_pages(cbx, book):
|
|
||||||
with atomic():
|
|
||||||
page_index = 0
|
|
||||||
for page_file_name in sorted([str(x) for x in cbx.namelist() if not x.endswith('/')], key=str.lower):
|
|
||||||
page = ComicPage(
|
|
||||||
Comic=book,
|
|
||||||
index=page_index,
|
|
||||||
page_file_name=page_file_name,
|
|
||||||
content_type=mimetypes.guess_type(page_file_name)[0]
|
|
||||||
)
|
|
||||||
page.save()
|
|
||||||
page_index += 1
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_ordered_dir_list(folder):
|
def get_ordered_dir_list(folder):
|
||||||
directories = []
|
directories = []
|
||||||
@@ -310,6 +296,13 @@ class ComicBook(models.Model):
|
|||||||
pass
|
pass
|
||||||
raise NotCompatibleArchive
|
raise NotCompatibleArchive
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_archive_files(archive):
|
||||||
|
return [
|
||||||
|
(x, mimetypes.guess_type(x)[0]) for x in sorted(archive.namelist())
|
||||||
|
if not x.endswith('/') and mimetypes.guess_type(x)[0]
|
||||||
|
]
|
||||||
|
|
||||||
def verify_pages(self, pages: Optional["ComicPage"] = None):
|
def verify_pages(self, pages: Optional["ComicPage"] = None):
|
||||||
if not pages:
|
if not pages:
|
||||||
pages = ComicPage.objects.filter(Comic=self)
|
pages = ComicPage.objects.filter(Comic=self)
|
||||||
@@ -317,11 +310,9 @@ class ComicBook(models.Model):
|
|||||||
archive, archive_type = self.get_archive()
|
archive, archive_type = self.get_archive()
|
||||||
if archive_type == 'pdf':
|
if archive_type == 'pdf':
|
||||||
return
|
return
|
||||||
archive_files = [(x, mimetypes.guess_type(x)[0]) for x in sorted(archive.namelist()) if not x.endswith('/')]
|
archive_files = self.get_archive_files(archive)
|
||||||
index = 0
|
index = 0
|
||||||
print(archive_files)
|
|
||||||
for a_file, db_file in zip_longest(archive_files, pages):
|
for a_file, db_file in zip_longest(archive_files, pages):
|
||||||
print(a_file, db_file.page_file_name, db_file.content_type)
|
|
||||||
if not a_file:
|
if not a_file:
|
||||||
db_file.delete()
|
db_file.delete()
|
||||||
continue
|
continue
|
||||||
|
|||||||
Reference in New Issue
Block a user