def unbind(self, repoid): """ Bind a repository. @param repoid: A repository ID. @type repoid: str @return: An unbind report. @rtype: L{BindReport} """ log.info('unbind: %s', repoid) report = BindReport() cfg = ConsumerConfig() repolib.unbind( cfg.filesystem.repo_file, os.path.join(cfg.filesystem.mirror_list_dir, repoid), cfg.filesystem.gpg_keys_dir, cfg.filesystem.cert_dir, repoid) report.succeeded() return report
def bind(self, definitions): """ Bind a repository. @param definitions: A list of bind definitions. Definition: {consumer_id:<str>, repo_id:<str>, distributor_id:<str>, href:<str>, type_id:<str>, details:<dict>} @type definitions: list @return: A bind report. @rtype: L{BindReport} """ log.info('bind: %s', definitions) report = BindReport() cfg = ConsumerConfig() for definition in definitions: details = definition['details'] repository = definition['repository'] repoid = repository['id'] urls = self.__urls(details) repolib.bind( cfg.filesystem.repo_file, os.path.join(cfg.filesystem.mirror_list_dir, repoid), cfg.filesystem.gpg_keys_dir, cfg.filesystem.cert_dir, repoid, repository, urls, details.get('gpg_keys', []), details.get('ca_cert'), details.get('client_cert'), len(urls) > 0,) report.succeeded() return report