get repo status

This commit is contained in:
Faik Uygur
2009-06-08 11:16:46 +00:00
parent a5453e5928
commit ab734361ca
2 changed files with 20 additions and 6 deletions
+3 -2
View File
@@ -224,11 +224,12 @@ def list_upgradable():
return upgradable
def list_repos():
def list_repos(onlyActive=True):
"""
Return a list of the repositories -> list_of_strings
@param onlyActive: return only the active repos list -> list_of_strings
"""
return pisi.db.repodb.RepoDB().list_repos()
return pisi.db.repodb.RepoDB().list_repos(onlyActive)
def get_install_order(packages):
"""
+17 -4
View File
@@ -73,6 +73,17 @@ class RepoOrder:
self._update(repo_doc)
def get_status(self, repo_name):
repo_doc = self._get_doc()
for r in repo_doc.tags("Repo"):
if r.getTagData("Name") == repo_name:
status_node = r.getTag("Status")
if status_node:
status = status_node.firstChild().data()
if status in ["active", "deactive"]:
return status
return "deactive"
def remove(self, repo_name):
repo_doc = self._get_doc()
@@ -111,8 +122,7 @@ class RepoOrder:
media = r.getTagData("Media")
name = r.getTagData("Name")
status = r.getTagData("Status")
if status != "deactive":
order.setdefault(media, []).append(name)
order.setdefault(media, []).append(name)
return order
@@ -178,8 +188,8 @@ class RepoDB(lazydb.LazyDB):
repos.append(r)
return repos
def list_repos(self):
return self.repoorder.get_order()
def list_repos(self, onlyActive=True):
return filter(lambda x:True if not onlyActive else self.repo_active(x), self.repoorder.get_order())
def list_repo_urls(self):
repos = []
@@ -200,3 +210,6 @@ class RepoDB(lazydb.LazyDB):
def deactivate_repo(self, name):
self.repoorder.set_status(name, "deactive")
def repo_active(self, name):
return self.repoorder.get_status(name) == "active"