예제 #1
0
    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
예제 #2
0
    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