diff --git a/main.py b/main.py
index a919f47..92f8956 100644
--- a/main.py
+++ b/main.py
@@ -10,6 +10,7 @@ import json
import re
from requests_tor import RequestsTor
import requests
+import hashlib
IMAGE_REMOVE_REGEX = re.compile(r"""https?.*)\".*/>""")
@@ -28,9 +29,17 @@ class BookMedia(BaseModel):
summary: str
+class BranchTeam(BaseModel):
+ name: str
+
+
class Branch(BaseModel):
id: int
branchId: int
+ teams: list[BranchTeam]
+
+
+IMG_HASHES: dict[bytes, str] = {}
def process_text(text_obj: dict):
@@ -53,6 +62,18 @@ class Chapter(BaseModel):
branches: list[Branch]
withBranches: bool
+ def get_translators(self, base_dir: Path) -> list[str]:
+ if len(self.branches) == 1:
+ return [team.name for team in self.branches[0].teams]
+ for branch in self.branches:
+ branch_zip = (
+ base_dir
+ / f"v{self.volume}-n{self.number}-{self.id}-b{branch.branchId}.zip"
+ )
+ if branch_zip.exists():
+ return [team.name for team in branch.teams]
+ return []
+
def get_zip_path(self, base_dir: Path) -> Path | None:
nobranch_zip = base_dir / f"v{self.volume}-n{self.number}-{self.id}.zip"
if nobranch_zip.exists():
@@ -83,6 +104,7 @@ class Chapter(BaseModel):
if zip_path is None:
raise FileNotFoundError(f"Chapter for `{self}` not found")
zip = zipfile.ZipFile(zip_path)
+ print(f"Loaded {zip.filename}")
data = zip.read("data.txt")
try:
content = json.loads(data)
@@ -99,7 +121,6 @@ class Chapter(BaseModel):
output = []
extras = []
- print(f"parsing {zip.filename}")
output.append(f"