#-*- coding: utf-8 -*- import sys import os import account.settings as settings import account.yamlloader as yamlloader import loader # VARIABLES # ============================================================================= try: CATEGORIES = loader.load_categories( yamlloader.load_yaml(settings.CATEGORIES_YAMLFILE) ) except: print("Error while loading categories YAML file.") print("You should probably check the CATEGORIES_YAMLFILE setting exists " "and points to an existing and valid file." ) sys.exit(1) # ============================================================================= try: DEFAULT_CATEGORY = [ c for c in CATEGORIES if CATEGORIES[c].is_default() ][0] except: DEFAULT_CATEGORY = None
# Decide what to do next depending on category type if type(data[category]) is type(dict()): # Recursion ! load_categories( data = data[category], categories_dict = categories_dict, parent = cat ) elif type(data[category]) is type(list()): for subcategory in data[category]: subcat = Category(name=subcategory, parent=cat) categories_dict[ unicode(subcat) ] = subcat elif type(data[category]) is type(str()): subcat = Category( name=data[category], parent=cat ) categories_dict[ unicode(subcat) ] = subcat elif type(data[category]) is type(None): pass # If there's nothing more to iterate on, we parsed the data ! return categories_dict if __name__ == '__main__': my_categories = load_categories( yamlloader.load_yaml( sys.argv[1] ) ) pprint.pprint(my_categories)