You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
2.1 KiB
67 lines
2.1 KiB
from flask import Flask, render_template, request
|
|
import os
|
|
import json
|
|
import mistletoe
|
|
|
|
app = Flask(__name__, static_folder='static')
|
|
contents = []
|
|
rut = "./static/assets/"
|
|
box = 'box'
|
|
showbar = 'showbar'
|
|
|
|
f = open('db.json',)
|
|
data = json.load(f,)
|
|
|
|
dictio = {}
|
|
|
|
folders = os.listdir(rut)
|
|
|
|
ii = 0
|
|
for folder in folders:
|
|
dictio[folder] = {}
|
|
subfolders = os.listdir(rut+folder)
|
|
os.system("find . -name '.DS_Store' -type f -delete")
|
|
for subfolder in subfolders:
|
|
os.system("find . -name '.DS_Store' -type f -delete")
|
|
if subfolder not in dictio[folder]:
|
|
dictio[folder][subfolder] = []
|
|
files = os.listdir(rut+folder+'/'+subfolder)
|
|
# print(files)
|
|
for file in files:
|
|
# print(file)
|
|
os.system("find . -name '.DS_Store' -type f -delete")
|
|
if file not in dictio[folder][subfolder]:
|
|
file_path = rut+folder+'/'+subfolder+'/'+file
|
|
# print(file_path)
|
|
if file.endswith("txt"):
|
|
with open(file_path) as txt:
|
|
output = txt.read()
|
|
dictio[folder][subfolder].append(output)
|
|
elif file.endswith("md"):
|
|
with open(file_path, 'r') as md:
|
|
output = mistletoe.markdown(md)
|
|
dictio[folder][subfolder].append(output)
|
|
else:
|
|
dictio[folder][subfolder].append(file)
|
|
|
|
|
|
# with open("db.json", "w") as outfile:
|
|
# json.dump(dictio, outfile)
|
|
|
|
# for key in data:
|
|
# for z in data[key][box]:
|
|
# print(rut+key+box+z)
|
|
|
|
|
|
@app.route("/", methods=['GET', 'POST'])
|
|
def platform():
|
|
return render_template("index.html", data=data, folder=folder, box=box, showbar=showbar, rut=rut)
|
|
|
|
|
|
@app.route('/print/', methods=['POST', 'GET'])
|
|
def dat():
|
|
if request.method == 'GET':
|
|
return f'nope, go back to home'
|
|
if request.method == 'POST':
|
|
form_data = request.form.getlist('test')
|
|
return render_template('prin.html', form_data=form_data, data=data, folder=folder, box=box, showbar=showbar, rut=rut)
|
|
|