* fix: do not show tracking db's by default, add an

option, at any rate. who knows who might need them?
  we don't like to hide info. that's for wussies.
This commit is contained in:
Eray Özkural
2006-03-27 01:15:09 +00:00
parent 3f3a1b3c45
commit c21b9f3fe4
2 changed files with 26 additions and 6 deletions
+24 -4
View File
@@ -52,13 +52,33 @@ class ItemByRepoDB(object):
def items(self): def items(self):
return self.d.items() return self.d.items()
def list(self, repo = None): def list(self, repo = None, show_tracking = False):
if repo: if repo:
return [ k for k,data in self.d.items() if data.has_key(self.repo_str(repo))] return [ k for k,data in self.d.items() if data.has_key(self.repo_str(repo))]
else: else:
return [ pkg for pkg in self.d.keys() ] if show_tracking:
return [ pkg for pkg in self.d.keys() ]
else:
def not_just_tracking(k, data):
keys = data.keys()
if len(keys)==1:
if 'trdparty' in keys or 'inst' in keys:
return False
elif len(keys)==2:
if 'trdparty' in keys and 'inst' in keys:
return False
return True
#below is a slower way
#for x in data.keys():
# if x.startsWith('repo-'):
# return False
#return True
return self.list_if(not_just_tracking)
def list_if(self, pred):
return [ k for k,data in self.d.items() if pred(k, data)]
# TODO: carry this to repodb, really :/ # TODO: carry this to repodb, really :/
def order(self): def order(self):
import pisi.repodb import pisi.repodb
+2 -2
View File
@@ -79,8 +79,8 @@ class PackageDB(object):
else: else:
return [] return []
def list_packages(self, repo=None): def list_packages(self, repo=None, show_tracking=False):
return self.d.list(repo) return self.d.list(repo, show_tracking=show_tracking)
def add_package(self, package_info, repo, txn = None): def add_package(self, package_info, repo, txn = None):
name = str(package_info.name) name = str(package_info.name)