diff --git a/kjvstudy_org/routes/utility.py b/kjvstudy_org/routes/utility.py index 62e1b35..bdac713 100644 --- a/kjvstudy_org/routes/utility.py +++ b/kjvstudy_org/routes/utility.py @@ -81,10 +81,21 @@ def sitemap_index(): @router.get("/sitemap-verses.xml") def sitemap_verses(): """Serve static verse sitemap (31,102 verses, generated once)""" + # Check if file exists + if not _VERSE_SITEMAP_PATH.exists(): + return Response( + content=f"Verse sitemap not found at {_VERSE_SITEMAP_PATH}", + status_code=404, + media_type="text/plain" + ) + return FileResponse( path=_VERSE_SITEMAP_PATH, media_type="application/xml", - headers={"Cache-Control": "public, max-age=86400"} # Cache for 1 day + headers={ + "Cache-Control": "public, max-age=86400", # Cache for 1 day + "Content-Encoding": "identity" # Explicitly say it's not compressed + } ) diff --git a/kjvstudy_org/static/sitemap-verses.xml b/kjvstudy_org/static/sitemap-verses.xml index 4a7ec10..b9ada25 100644 --- a/kjvstudy_org/static/sitemap-verses.xml +++ b/kjvstudy_org/static/sitemap-verses.xml @@ -1,12 +1,3 @@ - ------ - -WeasyPrint could not import some external libraries. Please carefully follow the installation steps before reporting an issue: -https://doc.courtbouillon.org/weasyprint/stable/first_steps.html#installation -https://doc.courtbouillon.org/weasyprint/stable/first_steps.html#troubleshooting - ------ - diff --git a/scripts/generate_verse_sitemap.py b/scripts/generate_verse_sitemap.py index 5d7805d..6ebabdb 100755 --- a/scripts/generate_verse_sitemap.py +++ b/scripts/generate_verse_sitemap.py @@ -26,13 +26,26 @@ Usage: git commit -m "Update verse sitemap" """ import sys +import os from pathlib import Path +# Suppress WeasyPrint warnings during import +# Redirect stdout temporarily to suppress import warnings +from io import StringIO +old_stdout = sys.stdout +old_stderr = sys.stderr +sys.stdout = StringIO() +sys.stderr = StringIO() + # Add parent directory to path to import kjv module sys.path.insert(0, str(Path(__file__).parent.parent)) from kjvstudy_org.kjv import bible +# Restore stdout/stderr +sys.stdout = old_stdout +sys.stderr = old_stderr + def generate_verse_sitemap(): """Generate sitemap XML for all verses in the Bible."""