80 lines
1.9 KiB
Python
80 lines
1.9 KiB
Python
|
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")
|
||
|
|
||
|
|