import os import shutil import pathlib from datetime import datetime from jinja2 import Environment, FileSystemLoader env = Environment(loader=FileSystemLoader("src")) env.globals['now'] = datetime.now env.filters['datetime'] = lambda u: datetime.strptime(u, '%Y-%m-%d') def is_jinja(filename): split_tup = os.path.splitext(filename) return split_tup[1] == ".jinja" def is_ignored(filename): for i in ignored_files: if filename == i: return True return False def filerun(filename,folder): if is_ignored(filename): return if is_jinja(filename): template = env.get_template(filename) output = template.render() output2 = output.render() split_tup = os.path.splitext(filename) pathlib.Path(folder.replace("src","www")).mkdir(parents=True, exist_ok=True) print(os.path.join(folder.replace("src","www"),split_tup[0])) with open(os.path.join(folder.replace("src","www"),split_tup[0]),"w") as f: f.write(output2) else: pathlib.Path(folder.replace("src","www")).mkdir(parents=True, exist_ok=True) shutil.copy2(os.path.join(folder,filename), os.path.join(folder.replace("src","www"),filename)) def do_folder(folder): f = [] for (dirpath, dirnames, filenames) in os.walk(folder): f.extend(filenames) break print(f) print(dirnames) for file in f: filerun(file,folder) if len(dirnames) == 0: return print(len(dirnames)) for folders in dirnames: print(folders) if is_ignored(folders): continue print(folders) do_folder(os.path.join(folder,folders)) with open(".ssgenignore") as f: ignored_files = f.read().split("\n") #if not os.path.exists("www"): # os.mkdir("www") #else: # dir = os.listdir("www") # if len(dir) != 0: # print("www directory isnt empty!") # exit() do_folder("src")