公开接口是DatasetCatalog对象,MetadataCatalog对象和Metadata类
DatasetCatalog.register(name, func) #用于注册函数
DatasetCatalog.get(name) #返回函数调用结果return func()
DatasetCatalog.list() #return list(self.keys())
DatasetCatalog.remove(name) #self.pop(name)
这就是个dict封装了一下
Metadata继承了types.SimpleNamespace:
metadata=Metadata(a=b, c=d) #types.SimpleNamespace的初始化方式
metadata.get(key, default=None) #相当于matadata.key,找不到返回default。访问下表中的key相当于访问value属性,也都以下面的dict中的values字符串进行存储属性
metadata可以任意创建属性,但一旦创建就无法再修改覆盖!
MetadataCatalog.get(name) #用于获取名为name的metadata,如果没有就创建一个
MetadataCatalog就是把各种metadata记录在一起,也是个dict封装了一下