def __init__(self): self.obj_schemas = {} self.schema_cache = {} for filename in os.listdir(SCHEMA_DIR): if (not os.path.isfile(os.path.join(SCHEMA_DIR, filename)) or not filename.endswith('.json')): continue filename = filename[:-5] # Cut off the .json parts = filename.split('-') if not len(parts) == 3: continue obj_type, method, ver_str = parts method = method.lower() ver = version.to_tuple(ver_str) if obj_type not in self.obj_schemas: self.obj_schemas[obj_type] = collections.defaultdict(set) self.obj_schemas[obj_type][method].add(ver) cache_key = (obj_type, method, ver) self.schema_cache[cache_key] = _get_jsonschema(obj_type, method, ver_str)