def read_resources_file(fname, check=False): fields = dict(RESOURCE_FIELDS) fields['key'] = str list_fields = dict(RESOURCE_LIST_FIELDS) dicts = formats.read_text_db(open(fname), fields, list_fields, require_all=False) result = {} for d in dicts: if 'key' not in d: if check: raise RuntimeError('Resource missing key: %r' % d) else: continue for k, v in RESOURCE_DEFAULTS.items(): if k not in d: d[k] = v key = d['key'] del d['key'] result[key] = d return result
def read_flags(content_path): fname = global_flags_file(content_path) if os.path.exists(fname): fields = {'key': str, 'text': str} items = formats.read_text_db(open(fname), fields) return {item['key']: item['text'] for item in items} else: return {}