diff --git a/epilogue/archive_generator.py b/epilogue/archive_generator.py index 856b556..ff96109 100644 --- a/epilogue/archive_generator.py +++ b/epilogue/archive_generator.py @@ -30,12 +30,14 @@ class ArchiveLinker(Linker): def translate_page_title (self, page_title): page_title = super().translate_page_title(page_title) + directory_name = "" for name in self.directory_names: - if page_title.startswith(f"{name}%2F"): - page_title = f"{name}/{page_title[len(name) + 3:]}" + if page_title.startswith(f"{name}/"): + directory_name = name + page_title = page_title[len(directory_name) + 1:] break - return page_title + return f"{directory_name}{'/' if directory_name else ''}{page_title.replace('/', '%2F')}.html" def prepare_thread (thread): thread.subject = html.unescape(thread.subject) diff --git a/epilogue/wiki.py b/epilogue/wiki.py index 711aeed..3fd8788 100644 --- a/epilogue/wiki.py +++ b/epilogue/wiki.py @@ -194,7 +194,7 @@ class Linker(): if page_title.startswith(CATEGORY_LINK_NAMESPACE): page_title = page_title[1:] - return f"{reformat_page_title(page_title)}.html" + return reformat_page_title(page_title) def translate_image_title (self, page_title): for namespace in self.file_namespaces: @@ -205,7 +205,7 @@ def reformat_page_title (page_title): if not page_title: return "" - return f"{page_title[0].upper()}{page_title[1:].replace(' ', '_').replace('/', '%2F')}" + return f"{page_title[0].upper()}{page_title[1:].replace(' ', '_')}" class Template(): def __init__ (self, wikicode):