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