class WholeConfig(object) : def __init__ (self): self.cmn = "CMN" self.pre_process = "PRE" self.post_process = "POST" self.gitUrl = "git@git.enflame.cn:hw/processor/mdma.git-->" self.branch = "libra_dev" self.jenkinsConfigList : List[JenkinsConfig] = [] @classmethod def from_dict(cls, data): # create a example of wholeConfig wholeConfig = cls() for key, value in data.items(): # create a new list of JenkinsConfig if key == 'jenkinsConfigList' : jenkinsConfigListObj = JenkinsConfigList.from_dict(value) setattr(wholeConfig, key, jenkinsConfigListObj) # else just add the key elif hasattr(wholeConfig, key): setattr(wholeConfig, key, value) return wholeConfig
时间: 2024-02-14 15:19:43 浏览: 288
bcma_driver_gmac_cmn.rar_GMAC_The Driver
这段代码定义了一个 Python 类 `WholeConfig`,该类有以下几个成员变量:
- `cmn`:字符串类型,表示一个常量
- `pre_process`:字符串类型,表示一个常量
- `post_process`:字符串类型,表示一个常量
- `gitUrl`:字符串类型,表示一个 Git 仓库的 URL
- `branch`:字符串类型,表示 Git 仓库的分支
- `jenkinsConfigList`:列表类型,每个元素都是一个 `JenkinsConfig` 对象
该类还定义了一个类方法 `from_dict`,该方法接受一个字典类型的参数 `data`,并返回一个 `WholeConfig` 对象。该方法首先创建一个 `WholeConfig` 对象 `wholeConfig`,然后遍历字典 `data` 中的每一个键值对。如果键为 `jenkinsConfigList`,则调用 `JenkinsConfigList.from_dict(value)` 方法,将返回的对象赋值给 `jenkinsConfigListObj`,并将 `jenkinsConfigListObj` 设置为 `wholeConfig` 的成员变量 `jenkinsConfigList`。如果键不为 `jenkinsConfigList`,则将其直接设置为 `wholeConfig` 的对应成员变量的值。最后返回 `wholeConfig` 对象。
总之,这段代码定义了一个类 `WholeConfig`,并实现了一个类方法 `from_dict`,用于从字典类型的数据中创建一个 `WholeConfig` 对象。
阅读全文