def __init__(self, repoUrl): self._repoUrl = repoUrl #self._baseMdPath = '/repodata/repomd.xml' self._baseMdPath = 'repodata/repomd.xml' self._repo = Repository(self._repoUrl) self._repomd = RepoMdXml(self._repo, self._baseMdPath).parse()
class Client(object): """ Client object for extracting information from repository metadata. """ def __init__(self, repoUrl): self._repoUrl = repoUrl #self._baseMdPath = '/repodata/repomd.xml' self._baseMdPath = 'repodata/repomd.xml' self._repo = Repository(self._repoUrl) self._repomd = RepoMdXml(self._repo, self._baseMdPath).parse() def getRepos(self): """ Get a repository instance. @return instance of repomd.repository.Repository """ return self._repo def getPatchDetail(self): """ Get a list instances representing all patch data in the repository. @return [repomd.patchxml._Patch, ...] """ node = self._repomd.getRepoData('patches') if node is None: return [] return [x.parseChildren() for x in node.parseChildren().getPatches()] def getPackageDetail(self): """ Get a list instances representing all packages in the repository. @ return [repomd.packagexml._Package, ...] """ node = self._repomd.getRepoData('primary') if node is None: return [] return node.parseChildren().getPackages() def getFileLists(self): """ Get a list instances representing filelists in the repository. @ return [repomd.filelistsxml._Package, ...] """ node = self._repomd.getRepoData('filelists') return node.parseChildren().getPackages() def getUpdateInfo(self): """ Get a list of instances representing the advisory infomration for all updates. @return [ repomd.userinfoxml._Update ] """ node = self._repomd.getRepoData('updateinfo') if not node: return [] return node.parseChildren().getUpdateInfo()
class Client(object): """ Client object for extracting information from repository metadata. """ def __init__(self, repoUrl): self._repoUrl = repoUrl #self._baseMdPath = '/repodata/repomd.xml' self._baseMdPath = 'repodata/repomd.xml' self._repo = Repository(self._repoUrl) self._repomd = RepoMdXml(self._repo, self._baseMdPath).parse() def getRepos(self): """ Get a repository instance. @return instance of repomd.repository.Repository """ return self._repo def getPatchDetail(self): """ Get a list instances representing all patch data in the repository. @return [repomd.patchxml._Patch, ...] """ node = self._repomd.getRepoData('patches') if node is None: return [] return [ x.parseChildren() for x in node.parseChildren().getPatches() ] def getPackageDetail(self): """ Get a list instances representing all packages in the repository. @ return [repomd.packagexml._Package, ...] """ node = self._repomd.getRepoData('primary') if node is None: return [] return node.parseChildren().getPackages() def getFileLists(self): """ Get a list instances representing filelists in the repository. @ return [repomd.filelistsxml._Package, ...] """ node = self._repomd.getRepoData('filelists') return node.parseChildren().getPackages() def getUpdateInfo(self): """ Get a list of instances representing the advisory infomration for all updates. @return [ repomd.userinfoxml._Update ] """ node = self._repomd.getRepoData('updateinfo') if not node: return [] return node.parseChildren().getUpdateInfo()