Since the wiki linker code is modularized the redirector can just import it
This commit is contained in:
parent
646b840be4
commit
1b7e3ce08b
@ -9,7 +9,7 @@ import chevron
|
||||
import bbcode
|
||||
import html
|
||||
|
||||
from .wiki import Template, Renderer, Linker, reformat_page_title, NAMESPACES as WIKI_NAMESPACES
|
||||
from .wiki import Template, Renderer, Linker, NAMESPACES as WIKI_NAMESPACES
|
||||
|
||||
logging.basicConfig(level=logging.INFO)
|
||||
logger = logging.getLogger("ArchiveGenerator")
|
||||
@ -131,7 +131,7 @@ class ArchiveGenerator():
|
||||
raise e
|
||||
|
||||
for category, pages in categories.items():
|
||||
category_out = f"Category:{reformat_page_title(category)}.html"
|
||||
category_out = f"Category:{linker.translate_page_title(category)}"
|
||||
logger.info("Archiving category %s to %s", category, category_out)
|
||||
|
||||
try:
|
||||
|
@ -1,5 +1,7 @@
|
||||
import argparse
|
||||
|
||||
from .archive_generator import ArchiveLinker, DEXES
|
||||
|
||||
from flask import Flask, redirect, request
|
||||
app = Flask(__name__)
|
||||
|
||||
@ -8,29 +10,16 @@ app = Flask(__name__)
|
||||
def redirect_wiki (path):
|
||||
return redirect(make_wiki_url(path))
|
||||
|
||||
def is_wiki_directory_name (name):
|
||||
return "Dex" in name
|
||||
|
||||
def escape_wiki_page_name (page_name):
|
||||
page_name = page_name[0].upper() + page_name[1:].replace(" ", "_")
|
||||
|
||||
if page_name.endswith("/"):
|
||||
page_name = page_name[:-1]
|
||||
|
||||
if "/" in page_name:
|
||||
(prefix, suffix) = page_name.split("/", 1)
|
||||
suffix = suffix.replace("/", "%2F")
|
||||
page_name = prefix + ("/" if is_wiki_directory_name(prefix) else "%2F") + suffix
|
||||
|
||||
return page_name
|
||||
|
||||
def make_wiki_url (path):
|
||||
url = app.args.wiki_archive
|
||||
|
||||
if path.endswith("/"):
|
||||
path = path[:-1]
|
||||
|
||||
if not url.endswith("/"):
|
||||
url = url + "/"
|
||||
|
||||
return url + escape_wiki_page_name(path) + ".html"
|
||||
return url + app.wiki_linker.translate_page_title(path)
|
||||
|
||||
## Forum redirector
|
||||
@app.route('/forums/<path:path>')
|
||||
@ -46,4 +35,5 @@ def main ():
|
||||
parser.add_argument("--forums-archive", help="URL to forums archive")
|
||||
|
||||
app.args = parser.parse_args()
|
||||
app.wiki_linker = ArchiveLinker(directory_names=DEXES)
|
||||
app.run()
|
@ -106,9 +106,9 @@ class Renderer():
|
||||
if categories:
|
||||
rendered.append('<h2>Categories</h2><ul class="categories">')
|
||||
for category in categories:
|
||||
rendered.append('<li><a href="{}Category:{}.html">{}</a></li>'.format(
|
||||
rendered.append('<li><a href="{}Category:{}">{}</a></li>'.format(
|
||||
base,
|
||||
reformat_page_title(category),
|
||||
self.linker.translate_page_title(category),
|
||||
category
|
||||
))
|
||||
rendered.append("</ul>")
|
||||
|
Loading…
x
Reference in New Issue
Block a user