fix py 3.8 support

This commit is contained in:
hyugogirubato
2025-07-09 23:37:34 +02:00
parent 4d831f28a9
commit fc1e693e67
+9 -9
View File
@@ -5,7 +5,7 @@ import zipfile
from datetime import datetime, timezone from datetime import datetime, timezone
from enum import Enum from enum import Enum
from io import BytesIO from io import BytesIO
from typing import Union from typing import Union, List
from pathlib import Path from pathlib import Path
import rarfile import rarfile
@@ -24,27 +24,27 @@ class ComicInfo(ComicModel):
ComicInfo class that represents the comic book information and pages. ComicInfo class that represents the comic book information and pages.
""" """
def __init__(self, pages: list[PageInfo], **kwargs): def __init__(self, pages: List[PageInfo], **kwargs):
""" """
Initialize the ComicInfo instance with pages and additional attributes. Initialize the ComicInfo instance with pages and additional attributes.
Args: Args:
pages (list[PageInfo]): List of PageInfo objects representing the comic pages. pages (List[PageInfo]): List of PageInfo objects representing the comic pages.
**kwargs: Additional attributes for the comic. **kwargs: Additional attributes for the comic.
Attributes: Attributes:
pages (list[PageInfo]): Stores the comic pages. pages (List[PageInfo]): Stores the comic pages.
""" """
super(ComicInfo, self).__init__(**kwargs) super(ComicInfo, self).__init__(**kwargs)
self.pages = pages self.pages = pages
@classmethod @classmethod
def from_pages(cls, pages: list[PageInfo], **kwargs) -> ComicInfo: def from_pages(cls, pages: List[PageInfo], **kwargs) -> ComicInfo:
""" """
Create a ComicInfo instance from pages and additional attributes. Create a ComicInfo instance from pages and additional attributes.
Args: Args:
pages (list[PageInfo]): List of PageInfo objects representing the comic pages. pages (List[PageInfo]): List of PageInfo objects representing the comic pages.
**kwargs: Additional attributes for the comic. **kwargs: Additional attributes for the comic.
Returns: Returns:
@@ -117,7 +117,7 @@ class ComicInfo(ComicModel):
Returns: Returns:
ComicInfo: An instance of ComicInfo. ComicInfo: An instance of ComicInfo.
""" """
pages: list[PageInfo] = [] pages: List[PageInfo] = []
reader = PdfReader(path) reader = PdfReader(path)
for page in reader.pages: for page in reader.pages:
for image in page.images: for image in page.images:
@@ -145,12 +145,12 @@ class ComicInfo(ComicModel):
return content return content
@staticmethod @staticmethod
def __process_archive(archive_file: zipfile.ZipFile | rarfile.RarFile) -> ComicInfo: def __process_archive(archive_file: Union[zipfile.ZipFile, rarfile.RarFile]) -> ComicInfo:
""" """
Common logic for processing archive files (CBZ/CBR). Common logic for processing archive files (CBZ/CBR).
Args: Args:
archive_file: Archive file object (ZipFile or RarFile) archive_file (Union[ZipFile, RarFile]): Archive file object (ZipFile or RarFile)
Returns: Returns:
ComicInfo: An instance of ComicInfo. ComicInfo: An instance of ComicInfo.