You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

138 lines
4.3 KiB
Python

from flask import Flask, render_template, request
import os
import json
import mistletoe
import random
app = Flask(__name__, static_folder='static')
contents = []
rut = "./static/assets/"
rutDetour = "./static/assets_detour/"
box = 'box'
showbar = 'showbar'
f = open('db.json',)
data = json.load(f,)
fDetour = open('dbDetour.json',)
dataDetour = json.load(fDetour,)
dictio = {}
dictioDetour = {}
folders = os.listdir(rut)
foldersDetour = os.listdir(rutDetour)
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)
os.system("find . -name '.DS_Store' -type f -delete")
for file in files:
# print(file)
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)
n = 0
coins = ['stones', 'rare stones', 'bold people',
'peanuts', 'wild pigs', 'Devis', 'Birbis tears']
price = {}
for keys in dataDetour:
price[keys] = []
r = random.randint(1, 140)
r2 = random.randint(0, (len(coins)-1))
price[keys] = f'{r} {coins[r2]}'
for folderDetour in foldersDetour:
dictioDetour[folderDetour] = {}
subfoldersDetour = os.listdir(rutDetour+folderDetour)
os.system("find . -name '.DS_Store' -type f -delete")
for subfolderDetour in subfoldersDetour:
if subfolderDetour.startswith('.'):
os.remove(rutDetour+folderDetour+'/'+subfolderDetour)
else:
dictioDetour[folderDetour][subfolderDetour] = []
filesDetour = os.listdir(
rutDetour+folderDetour+'/'+subfolderDetour)
for fileDetour in filesDetour:
file_path = rutDetour+folderDetour+'/'+subfolderDetour+'/'+fileDetour
# print(file_path)
if fileDetour.endswith("txt"):
with open(file_path) as txt:
output = txt.read()
dictioDetour[folderDetour][subfolderDetour].append(
output)
elif fileDetour.endswith("md"):
with open(file_path, 'r') as md:
output = mistletoe.markdown(md)
dictioDetour[folderDetour][subfolderDetour].append(
output)
else:
dictioDetour[folderDetour][subfolderDetour].append(
fileDetour)
with open("db.json", "w") as outfile:
json.dump(dictio, outfile)
with open("dbDetour.json", "w") as outfileDetour:
json.dump(dictioDetour, outfileDetour)
# stack tecnico compiling
with open("./static/stack_tecnico.md", 'r') as md:
stack = mistletoe.markdown(md)
# 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, stack=stack, folderDetour=folderDetour, dataDetour=dataDetour, rutDetour=rutDetour, )
@app.route('/print/', methods=['POST', 'GET'])
def dat():
classes = []
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)
@app.route("/ebay/")
def ebay():
return render_template("ebay.html", dataDetour=dataDetour, box=box, price=price)
if __name__ == '__main__':
app.run(host="localhost", port=5173, debug=True)