def create(id: str, force_create: bool = False): ValueChecker.validate_id(id) pm = None if force_create else ConfigBuilder.get_package_manager(id) if None is pm: pm = PackageManager(id) ConfigBuilder.add_package_manager(id, pm) return pm
def remove_package_manager(self, package_manager): if isinstance(package_manager, PackageManager): self.__package_manager.remove(package_manager) elif isinstance(package_manager, str): package_manager = ConfigBuilder.get_package_manager( package_manager) self.__package_manager.remove(package_manager) return self
def add_package_manager(self, package_manager): if isinstance(package_manager, PackageManager): if package_manager not in self.__package_manager: self.__package_manager.append(package_manager) elif isinstance(package_manager, str): package_manager = ConfigBuilder.get_package_manager( package_manager) if None is package_manager: raise Exception('PackageManager does not exist yet!') self.add_package_manager(package_manager) else: raise Exception( 'Can only add PackageManager or id of PackageManager!') return self