44 lines
1.3 KiB
Python
44 lines
1.3 KiB
Python
import os
|
|
from .forum import Forum
|
|
from .wiki import Wiki
|
|
from .archive_generator import ArchiveGenerator
|
|
|
|
import sys
|
|
import shutil
|
|
|
|
BASEDIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
|
FORUM_DATABASE = os.path.join(BASEDIR, "forum", "forum.sqlite")
|
|
WIKI_DIRECTORY = os.path.join(BASEDIR, "wiki")
|
|
TEMPLATES_DIR = os.path.join(BASEDIR, "templates")
|
|
STATIC_DIR = os.path.join(BASEDIR, "static")
|
|
|
|
ARCHIVE_GENERATOR = ArchiveGenerator(TEMPLATES_DIR, STATIC_DIR)
|
|
|
|
ARCHIVES_BASEDIR = "archives"
|
|
FORUM_ARCHIVES = os.path.join(ARCHIVES_BASEDIR, "forums")
|
|
WIKI_ARCHIVES = os.path.join(ARCHIVES_BASEDIR, "wiki")
|
|
|
|
DEFAULT_ARGUMENTS = ["wiki", "forum"]
|
|
|
|
def main():
|
|
args = sys.argv[1:]
|
|
if not args:
|
|
args = DEFAULT_ARGUMENTS
|
|
|
|
ARCHIVE_GENERATOR.generate_index(ARCHIVES_BASEDIR)
|
|
|
|
if "forum" in args or "forums" in args:
|
|
ARCHIVE_GENERATOR.generate_forum(Forum(FORUM_DATABASE), FORUM_ARCHIVES)
|
|
|
|
if "wiki" in args:
|
|
archive_wiki()
|
|
|
|
def archive_wiki():
|
|
wiki = None
|
|
for entry in os.listdir(WIKI_DIRECTORY):
|
|
if entry.endswith(".xml"):
|
|
wiki = Wiki(os.path.join(WIKI_DIRECTORY, entry))
|
|
|
|
if wiki:
|
|
shutil.copyfile(wiki.xml_path, os.path.join(ARCHIVES_BASEDIR, "wiki.xml"))
|
|
ARCHIVE_GENERATOR.generate_wiki(wiki, WIKI_ARCHIVES) |