2024-02-28 20:08:16 +01:00
|
|
|
from flask import Flask, request, jsonify, render_template
|
|
|
|
import json
|
2024-02-29 14:47:12 +01:00
|
|
|
from pprint import pprint as pp
|
2024-03-03 11:15:38 +01:00
|
|
|
from pathlib import Path
|
|
|
|
import re
|
2024-02-28 20:08:16 +01:00
|
|
|
app = Flask(__name__)
|
|
|
|
|
2024-02-29 19:44:28 +01:00
|
|
|
#tmp = '71386-10'
|
2024-02-28 21:31:43 +01:00
|
|
|
|
2024-03-03 11:15:38 +01:00
|
|
|
|
|
|
|
@app.route('/')
|
|
|
|
def index():
|
|
|
|
pathlist = Path('./info/').rglob('*.json')
|
|
|
|
set_list = []
|
|
|
|
for path in pathlist:
|
|
|
|
print(str(path))
|
|
|
|
set_list.append(re.findall(r"\b\d+(?:-\d+)?\b",str(path)))
|
|
|
|
|
|
|
|
return set_list
|
|
|
|
|
2024-02-29 19:44:28 +01:00
|
|
|
@app.route('/<tmp>')
|
2024-03-03 11:15:38 +01:00
|
|
|
def sets(tmp):
|
2024-02-28 21:31:43 +01:00
|
|
|
with open('./sets/'+tmp+'/info.json') as info:
|
|
|
|
info_file = json.loads(info.read())
|
|
|
|
with open('./sets/'+tmp+'/inventory.json') as inventory:
|
|
|
|
inventory_file = json.loads(inventory.read())
|
2024-02-29 13:24:47 +01:00
|
|
|
with open('./info/'+tmp+'.json') as info:
|
|
|
|
json_file = json.loads(info.read())
|
2024-02-29 14:47:12 +01:00
|
|
|
pp(json_file['unit'][0]['bricks']['missing'])
|
2024-02-29 19:44:28 +01:00
|
|
|
return render_template('bootstrap_table.html', tmp=tmp,title=info_file['set_num']+" - "+info_file['name'],
|
2024-02-29 13:24:47 +01:00
|
|
|
info_file=info_file,inventory_file=inventory_file,json_file=json_file)
|
2024-02-28 20:08:16 +01:00
|
|
|
|
|
|
|
|
2024-02-29 19:44:28 +01:00
|
|
|
@app.route('/<tmp>/saveNumber', methods=['POST'])
|
|
|
|
def save_number(tmp):
|
2024-02-28 21:31:43 +01:00
|
|
|
data1 = request.form.get('brick.part.part_num')
|
|
|
|
data2 = request.form.get('brick.color.name')
|
2024-02-29 19:30:25 +01:00
|
|
|
data3 = request.form.get('index')
|
2024-02-28 20:08:16 +01:00
|
|
|
number = request.form.get('numberInput')
|
2024-03-02 09:02:37 +01:00
|
|
|
is_spare = request.form.get('is_spare')
|
2024-02-28 20:08:16 +01:00
|
|
|
|
|
|
|
if number is not None:
|
2024-02-28 21:31:43 +01:00
|
|
|
|
|
|
|
print(data1)
|
|
|
|
print(data2)
|
|
|
|
print(number)
|
2024-03-02 09:02:37 +01:00
|
|
|
print(is_spare)
|
2024-02-28 21:31:43 +01:00
|
|
|
|
|
|
|
with open('./info/'+tmp+'.json') as info:
|
|
|
|
json_file = json.loads(info.read())
|
|
|
|
print(json_file['count'])
|
|
|
|
|
2024-03-02 09:02:37 +01:00
|
|
|
data = '{"brick" : {"ID":"' + data1 + '","is_spare": "' + is_spare + '","color_name": "' + data2 + '","amount":"' + number + '"}}'
|
2024-02-29 15:22:55 +01:00
|
|
|
|
2024-02-29 19:30:25 +01:00
|
|
|
json_file['unit'][int(data3)]['bricks']['missing'].append(json.loads(data))
|
2024-02-29 15:22:55 +01:00
|
|
|
|
2024-02-29 08:43:31 +01:00
|
|
|
with open('./info/'+tmp+'.json', 'w') as dump_file:
|
|
|
|
json.dump(json_file,dump_file)
|
2024-02-28 21:31:43 +01:00
|
|
|
|
|
|
|
return ('', 204)
|
2024-02-28 20:08:16 +01:00
|
|
|
|
|
|
|
if __name__ == '__main__':
|
2024-02-29 08:43:31 +01:00
|
|
|
app.run(host='192.168.10.109', debug=True, port=3333)
|