#!/usr/bin/env python #Filename: newtemp.py #Author: stayawake@lavabit.com import configparser import os import sys import getopt import time import datetime from string import Template def readfiles(prefix): global content content= {"content.html":"", "keywords":"", "desc_de":"", "desc_en":""} for c in content: f = open(prefix + "." + c, "r") content[c] = f.read() f.close def substitute(target, prefix, htmltemplate, datenow, topic, content): #create template-string htmltext = Template(htmltemplate) htmltext = htmltext.substitute(template_date = datenow, template_chattopic = topic, template_keywords = content["keywords"], template_content = content["content.html"], template_desc_de = content["desc_de"], template_desc_en = content["desc_en"]) #write it to the outputfile outputfile = open(target + page + ".html", "w") outputfile.write(htmltext) outputfile.close() def readarguments(argv): global configfile global verbose try: opts, args = getopt.getopt(argv, "c:vh", ["config=", "verbose", "help"]) except getopt.GetoptError: print("There is a problem with your argument(s)") sys.exit(2) for opt, arg in opts: if opt in ("-c", "--config"): configfile = arg elif opt in ("-v", "--verbose"): verbose = True elif opt in ("-h", "--help"): print("Please read the non-existing man page for further assistance") sys.exit(0) configfile = "template.conf" verbose = False readarguments(sys.argv[1:]) if not(os.path.exists(configfile)): print("Configfile not found") sys.exit(2) config = configparser.ConfigParser() config.read_file(open(configfile)) path = config["Default"]["path"] target = config["Default"]["target"] pagepath = path + "pages/" templatepath = path + "template/" topicpath = path + "topic/" if verbose: print("Pagepath: %s" % pagepath) print("Templatepath: %s" % templatepath) print("topicpath: %s" % topicpath) #set template f = open(templatepath + "template.html", "r") htmltemplate = f.read() f.close if verbose: print ("template read") #set topic f = open(topicpath + "topic", "r") topic = f.read() f.close if verbose: print ("topic read") #set date datenow = time.strftime("%Y-%m-%dT%H:%M:%S +0100") if verbose: print ("Set date: " + datenow) for page in os.listdir(pagepath): prefix = pagepath + page + "/" + page readfiles(prefix) substitute(target, prefix, htmltemplate, datenow, topic, content) if verbose: print(prefix + ".html written")