diff --git a/renderer/fifty_ohm_html_renderer.py b/renderer/fifty_ohm_html_renderer.py
index 8743ed6..e50bcac 100644
--- a/renderer/fifty_ohm_html_renderer.py
+++ b/renderer/fifty_ohm_html_renderer.py
@@ -206,18 +206,19 @@ class FiftyOhmHtmlRenderer(HtmlRenderer):
return self.render_picture_helper(token.id, token.ref, token.text, token.number, alt_text)
@staticmethod
- def render_photo_helper(id, ref, text, number):
+ def render_photo_helper(id, ref, text, number, alt_text):
return f"""
-
+
Abbildung {number}: {text}
"""
def render_photo(self, token):
+ alt_text = "Alt-Text noch nicht verfügbar"
if self.photo_handler is not None:
- self.photo_handler(token.id)
- return self.render_photo_helper(token.id, token.ref, token.text, token.number)
+ alt_text = self.photo_handler(token.id) or alt_text
+ return self.render_photo_helper(token.id, token.ref, token.text, token.number, alt_text)
@staticmethod
def render_cell_helper(cell, alignment, type):
diff --git a/src/build.py b/src/build.py
index 0f89135..0729531 100644
--- a/src/build.py
+++ b/src/build.py
@@ -144,6 +144,8 @@ class Build:
file = f"{id}.jpg"
try:
shutil.copyfile(self.config.p_data_photos / file, self.config.p_build_photos / file)
+ if (self.config.p_data_photos / f"{id}.txt").exists():
+ return (self.config.p_data_photos / f"{id}.txt").read_text()
except FileNotFoundError:
tqdm.write(f"\033[31mPhoto #{id} not found\033[0m")
diff --git a/src/download.py b/src/download.py
index 684fdd7..fd443f6 100644
--- a/src/download.py
+++ b/src/download.py
@@ -92,10 +92,19 @@ class Download:
photos = self.api.get("items/Fotos", params={"limit": -1})
for photo in tqdm(photos, desc="Downloading photos"):
+ # Save Photo to file
data = self.api.get_file("assets/" + photo["photo"])
with (self.config.p_data_photos / f"{photo['id']}.jpg").open("wb") as file:
file.write(data)
+ # Save Alt-Text to file
+ prefix = ""
+ if photo["alt_text"] is not None:
+ if photo["alt_text_reviewed"] is None:
+ prefix = "Der folgende Alt-Text wurde noch nicht geprüft: "
+ with (self.config.p_data_photos / f"{photo['id']}.txt").open("w") as file:
+ file.write(prefix + photo["alt_text"])
+
def download_pictures(self):
self.config.p_data_pictures.mkdir(parents=True, exist_ok=True)
diff --git a/test/test_photo.py b/test/test_photo.py
index 6e0c042..60d243d 100644
--- a/test/test_photo.py
+++ b/test/test_photo.py
@@ -9,7 +9,9 @@ from test.util import paragraph
@pytest.mark.html
def test_photo_html():
assertions = {
- "[photo:123:abc:Text]": FiftyOhmHtmlRenderer.render_photo_helper("123", "abc", "Text", "TODO"),
+ "[photo:123:abc:Text]": FiftyOhmHtmlRenderer.render_photo_helper(
+ "123", "abc", "Text", "TODO", "Alt-Text noch nicht verfügbar"
+ ),
}
for assertion in assertions: