diff options
author | daniel-Jones <daniel@danieljon.es> | 2018-01-27 12:03:38 +1030 |
---|---|---|
committer | daniel-Jones <daniel@danieljon.es> | 2018-01-27 12:03:38 +1030 |
commit | 39c5033dce652b663260e754884f33a0d2d7d0ff (patch) | |
tree | 2ebf3a0b6fafb83db879d186c5bbb923abd11aaa /generatesite.py | |
parent | 9a073980788faebe4f947b7c31e212375af277c4 (diff) | |
download | website-39c5033dce652b663260e754884f33a0d2d7d0ff.tar.gz website-39c5033dce652b663260e754884f33a0d2d7d0ff.zip |
added ability to generate copies with different themes. first argument is the template file to use, second argument is the name of the directory that will be used
Diffstat (limited to 'generatesite.py')
-rw-r--r-- | generatesite.py | 63 |
1 files changed, 42 insertions, 21 deletions
diff --git a/generatesite.py b/generatesite.py index 071f478..919570e 100644 --- a/generatesite.py +++ b/generatesite.py @@ -8,6 +8,7 @@ import configparser; import errno; import os; import glob; +import sys; from shutil import copyfile; from tempfile import mkstemp; from shutil import move; @@ -23,9 +24,11 @@ def replace(file_path, pattern, subst): remove(file_path); move(abs_path, file_path); -def generateindex(): - template = cfg.get("output", "template"); - outdir = cfg.get("output", "dir"); +def generateindex(special): + if special: + outdir = specialoutput; + else: + outdir = cfg.get("output", "dir"); indexsrc = cfg.get("index", "src"); print("generating {}/index.html from {}".format(outdir, indexsrc)); copyfile(template, outdir + "/index.html"); @@ -47,9 +50,11 @@ def generatepagebar(currentpage, pagecount): pages += "<a href='" + str(1 if currentpage == pagecount else int(currentpage)+1) + "'>next</a></div>"; return pages; -def generateportfolio(): - template = cfg.get("output", "template"); - outdir = cfg.get("output", "dir"); +def generateportfolio(special): + if special: + outdir = specialoutput; + else: + outdir = cfg.get("output", "dir"); portfoliosrc = cfg.get("portfolio", "src"); print("generating {}/portfolio.html from {}".format(outdir, portfoliosrc)); copyfile(template, outdir + "/portfolio.html"); @@ -67,9 +72,11 @@ def deletefiles(ddir): if os.path.isfile(file_path): os.unlink(file_path); -def generateblog(): - template = cfg.get("output", "template"); - outdir = cfg.get("output", "dir"); +def generateblog(special): + if special: + outdir = specialoutput; + else: + outdir = cfg.get("output", "dir"); blogdir = cfg.get("blog", "dir"); directdir = cfg.get("blog", "direct"); blogsrc = cfg.get("blog", "srcdir"); @@ -139,11 +146,14 @@ def generateblog(): -def generateopinions(): - template = cfg.get("output", "template"); - outdir = cfg.get("output", "dir"); +def generateopinions(special): + if special: + outdir = specialoutput; + else: + outdir = cfg.get("output", "dir"); opinionssrc = cfg.get("opinions", "src"); opinionsdir = cfg.get("opinions", "dir"); + os.makedirs(outdir + "/" + opinionsdir, exist_ok=True); print("generating {}/{}/index.html from {}".format(outdir, opinionsdir, opinionssrc)); copyfile(template, outdir + "/" + opinionsdir + "/index.html"); with open(opinionssrc, "r") as contentfile: @@ -174,11 +184,14 @@ def generateopinions(): replace(outdir + "/" + opinionsdir + "/everything.html", "{TIME}", strftime("%Y-%m-%d %H:%M:%S", gmtime())); -def generatewaifus(): - template = cfg.get("output", "template"); - outdir = cfg.get("output", "dir"); +def generatewaifus(special): + if special: + outdir = specialoutput; + else: + outdir = cfg.get("output", "dir"); waifussrc = cfg.get("waifus", "src"); waifusdir = cfg.get("waifus", "dir"); + os.makedirs(outdir + "/" + waifusdir, exist_ok=True); print("generating {}/{}/index.html from {}".format(outdir, waifusdir, waifussrc)); copyfile(template, outdir + "/" + waifusdir + "/index.html"); with open(waifussrc, "r") as contentfile: @@ -191,9 +204,17 @@ def generatewaifus(): if __name__ == "__main__": cfg = configparser.ConfigParser(); cfg.read("settings.cfg"); - os.makedirs(cfg.get("output", "dir"), exist_ok=True); - generateindex(); # index - generateblog(); # blog with individual pages - generateportfolio(); # portfolio - generateopinions(); # opinions/anime - generatewaifus(); # my waifus + orgoutdir = cfg.get("output", "dir"); + if len(sys.argv) > 2: + template = sys.argv[1]; + special = True; # if set output will be output/sys.argv[2] + specialoutput = orgoutdir + "/" + sys.argv[2]; + else: + special = False; + template = cfg.get("output", "template"); + os.makedirs(orgoutdir, exist_ok=True); + generateindex(special); # index + generateblog(special); # blog with individual pages + generateportfolio(special); # portfolio + generateopinions(special); # opinions/anime + generatewaifus(special); # my waifus |