Extract more archive generator specific functionality from linker (e.g. the .html suffix, / -> %2F replacement)
This commit is contained in:
parent
ade44491d4
commit
a382e6d4fd
@ -30,12 +30,14 @@ class ArchiveLinker(Linker):
|
|||||||
def translate_page_title (self, page_title):
|
def translate_page_title (self, page_title):
|
||||||
page_title = super().translate_page_title(page_title)
|
page_title = super().translate_page_title(page_title)
|
||||||
|
|
||||||
|
directory_name = ""
|
||||||
for name in self.directory_names:
|
for name in self.directory_names:
|
||||||
if page_title.startswith(f"{name}%2F"):
|
if page_title.startswith(f"{name}/"):
|
||||||
page_title = f"{name}/{page_title[len(name) + 3:]}"
|
directory_name = name
|
||||||
|
page_title = page_title[len(directory_name) + 1:]
|
||||||
break
|
break
|
||||||
|
|
||||||
return page_title
|
return f"{directory_name}{'/' if directory_name else ''}{page_title.replace('/', '%2F')}.html"
|
||||||
|
|
||||||
def prepare_thread (thread):
|
def prepare_thread (thread):
|
||||||
thread.subject = html.unescape(thread.subject)
|
thread.subject = html.unescape(thread.subject)
|
||||||
|
@ -194,7 +194,7 @@ class Linker():
|
|||||||
if page_title.startswith(CATEGORY_LINK_NAMESPACE):
|
if page_title.startswith(CATEGORY_LINK_NAMESPACE):
|
||||||
page_title = page_title[1:]
|
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):
|
def translate_image_title (self, page_title):
|
||||||
for namespace in self.file_namespaces:
|
for namespace in self.file_namespaces:
|
||||||
@ -205,7 +205,7 @@ def reformat_page_title (page_title):
|
|||||||
if not page_title:
|
if not page_title:
|
||||||
return ""
|
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():
|
class Template():
|
||||||
def __init__ (self, wikicode):
|
def __init__ (self, wikicode):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user