epilogue/epilogue/__init__.py

45 lines
1.2 KiB
Python

import os
from .forum import Forum
from .wiki import Wiki
from .archive_generator import ArchiveGenerator
import sys
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")
ARCHIVES_BASEDIR = "archives"
FORUM_ARCHIVES = os.path.join(ARCHIVES_BASEDIR, "forums")
WIKI_ARCHIVES = os.path.join(ARCHIVES_BASEDIR, "wiki")
DEFAULT_ARGUMENTS = ["forum"] # ["wiki", "forum"]
def main():
args = sys.argv[1:]
if not args:
args = DEFAULT_ARGUMENTS
if "forum" in args:
archive_forum()
if "wiki" in args:
archive_wiki()
def archive_forum():
forum = Forum(FORUM_DATABASE)
generator = ArchiveGenerator(TEMPLATES_DIR, STATIC_DIR)
generator.generate_forum(forum, FORUM_ARCHIVES)
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:
generator = ArchiveGenerator(TEMPLATES_DIR, STATIC_DIR)
generator.generate_wiki(wiki, WIKI_ARCHIVES)