def eval_db(reagents): db = freezerbox.Database('TEST_DB') reagents = Schema(empty_ok({str: str}))(reagents) for tag, reagent in reagents.items(): db[tag] = eval_swmb(reagent) return db
def get_list_for_generator(schema: Schema) -> tuple: ''' return tuple ([data_types],[keys])''' list_of_attributtes = [] list_of_keys = collections.OrderedDict() if isinstance(schema, Schema): schema = unwrap_schema(schema) for key, value in schema.items(): if isinstance(value, Schema): value = unwrap_schema(value) if type(value) is dict: attr, keys = get_list_for_generator(value) list_of_attributtes.append(attr) list_of_keys[key] = keys elif value in enum_of_types: list_of_attributtes.append(value) list_of_keys[key] = 'end' return list_of_attributtes, list_of_keys