Ejemplo n.º 1
0
 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)