website_new/main.py
2024-08-24 23:33:06 +03:00

79 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")