Обновление update_db и мелкие изменения

main
justuser31 7 months ago
parent 0ef9fc1de9
commit 320a7204e3

@ -1,3 +1,5 @@
from precalc__ import precalc__
global expanded
def expand_recipe(recipe, recipes, main = False):
global expanded
@ -48,3 +50,9 @@ def calc(element, amount, recipes):
return expanded, vol_in, vol_out
def calc_all(recipes, amount):
precalc = {}
for el in recipes:
precalc[el] = precalc__(calc(el, amount, recipes))
return precalc

@ -1,13 +1,14 @@
import os
import json
from reag__ import reag__
from precalc__ import precalc__
if not os.path.exists('db.json'):
if not os.path.exists('precalc.json'):
db = {}
js = json.dumps(db, indent=2)
with open('db.json', 'w') as outfile:
with open('precalc.json', 'w') as outfile:
outfile.write(js)
print('Created new db.json')
print('Created new precalc.json')
if not os.path.exists('raw_db.json'):
db = {}
js = json.dumps(db, indent=2)
@ -35,9 +36,13 @@ def save(db, file):
raw[el] = class_data
write_db(raw, file)
def load(file):
def load(file, type = 'raw'):
raw = read_db(file)
db = {}
for el in raw:
db[el] = reag__(raw[el][0], raw[el][1], raw[el][2])
if type == 'raw':
for el in raw:
db[el] = reag__(raw[el][0], raw[el][1], raw[el][2])
elif type == 'precalc':
for el in raw:
db[el] = precalc__(raw[el])
return db

@ -0,0 +1,7 @@
class precalc__:
def __init__(self, els):
self.recipe = els[0]
self.vol_in = els[1]
self.vol_out = els[2]
def get_all(self):
return [self.recipe, self.vol_in, self.vol_out]

@ -1,23 +1,43 @@
from parse import *
from calc import calc
from calc import *
from db import *
'''
# Загружаем локализацию
locales_url = ['medicine', 'chemicals']
locales = load_locales(locales_url)
print('''1. Обновить всё.
2. Пересчитать рецепты.
''')
inp = input(">> ")
print('\n')
# Загружаем сырые рецепты
recipes_url = ['medicine']
raw_recipes = load_recipes(recipes_url)
vols = [30, 50, 100]
if inp == '1':
print('Парсим и обрабатываем данные...')
# Загружаем локализацию
locales_url = ['medicine', 'chemicals']
locales = load_locales(locales_url)
# Локализируем
recipes = localize(raw_recipes, locales)
# Сохранаяем данные
save(recipes, 'raw_db.json')
'''
# Загружаем сырые рецепты
recipes_url = ['medicine']
raw_recipes = load_recipes(recipes_url)
rec = load('raw_db.json')
# Локализируем
recipes = localize(raw_recipes, locales)
# Делаем предрасчёты
#calculated =
save(recipes, 'raw_db.json')
print('Сохранены минимальные рецепты в raw_db.json')
print('Выполняем предрасчёты...')
for i in vols:
precalc = calc_all(recipes, i)
save(precalc, f'{i}_calc.json')
print(f'Данные сохранены в {i}_calc.json')
elif inp == '2':
print('Выполняем расчёты...')
recipes = load('raw_db.json')
for i in vols:
precalc = calc_all(recipes, i)
save(precalc, f'{i}_calc.json')
print(f'Данные сохранены в {i}_calc.json')
else:
exit()
print("ГОТОВО.")

Loading…
Cancel
Save