Files
econ_emt/econ/commoditys/commoditys.py
2023-01-24 15:15:53 +01:00

47 lines
1.9 KiB
Python

import os
import yaml
# create an empty dictionary to store the demand tags
demand_tags = {} # demand tags with demands
world_tags = {} # available resources tags with resources available
commoditys = {} # commoditys by name
productions = {} # list of production rules by commodity name
productions_uses = {} # list of productions that are a key commodity
data={}
def search_yaml_files(directory = "db"):
"""
Load all tags from the db
"""
# iterate through the YAML files in the directory
for filename in os.listdir(directory):
filepath = os.path.join(directory, filename)
if os.path.isdir(filepath):
search_yaml_files(filepath)
elif filename.endswith(".yml"):
# open and read the YAML file
with open(filepath, 'r') as file:
data = yaml.safe_load(file)
# check the kind of tag
if data['kind'] == "world":
for tag in data['spec']:
world_tags[tag['name']] = tag['res']
elif data['kind'] == "demand":
for tag in data['spec']:
demand_tags[tag['name']] = tag['res']
elif data['kind'] == "commodity":
for comm in data['spec']:
commoditys[comm['name']] = comm
elif data['kind'] == "production":
for comm in data['spec']:
if comm['name'] not in productions:
productions[comm['name']]=[]
productions[comm['name']].append(comm)
for comp in comm["prod"]:
k=list(comp.keys())[0]
if k not in productions_uses:
productions_uses[k]=[]
productions_uses[k].append(comm)