def update(self, config: Config, create=False) -> bool: """ 更新指定配置 - config Config: 要更新的配置 - create bool[False]: 如果不存在相同ID配置是否新增该配置 - return bool: 返回更新是否成功 """ # 判断输入是否合法 err = config.check() if err: self._warning("配置修改失败: 输入不合法, {}".format(err)) return False # 判断配置是否存在 if self.exists(config.id) is False: if create: return self.add(Config) else: self._warning("更新配置失败: 配置不存在(ID:{})".format(config.id)) return False # 保存配置 old_cfg = self.getConfig(config.id) if config.save(self.getConfigPath(config.id)) is False: self._warning("更新配置失败: 配置文件保存失败(ID:{})".format(config.id)) return False self._info("更新配置成功, 旧配置Config={}".format(old_cfg.toJSON())) return True
def add(self, config: Config) -> bool: """ 添加并保存配置 - config Config: 要添加的配置 - return bool: 返回添加是否成功 """ # 判断输入是否合法 err = config.check() if err: self._warning("配置添加失败: 输入不合法, {}".format(err)) return False # 判断是否已存在 if self.exists(config.id): self._warning("配置添加失败: 已存在相同ID({})配置".format(config.id)) return False # 尝试保存 if config.save(self.getConfigPath(config.id)) is False: self._warning("配置添加失败: 配置文件保存失败, Config={}".format( config.toJSON())) return False self._info("配置添加成功(ID:{})".format(config.id)) return True