From c2fa9891a5ca7642b6b95747740cd1e4dc26bbaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eray=20=C3=96zkural?= Date: Thu, 20 Apr 2006 13:03:20 +0000 Subject: [PATCH] * because of a compatibility problem with building the index, can't make the package -> metadata change before all clients are updated and still have the source info . yes, i know this sounds silly. the new packagedb is tagged to packagedb-metadata.py --- pisi/__init__.py | 4 ++-- pisi/packagedb.py | 43 ++++++++++--------------------------------- 2 files changed, 12 insertions(+), 35 deletions(-) diff --git a/pisi/__init__.py b/pisi/__init__.py index 6a9c7d9b..87baad73 100644 --- a/pisi/__init__.py +++ b/pisi/__init__.py @@ -12,9 +12,9 @@ # PiSi version -__version__ = "1.0.8" +__version__ = "1.0.9" -__dbversion__ = "1.0.8" +__dbversion__ = "1.0.9" __filesdbversion__ = "1.0.5" # yes, this is the real bottleneck __all__ = [ 'api', 'config', 'packagedb', 'installdb', 'search' ] diff --git a/pisi/packagedb.py b/pisi/packagedb.py index 036e6271..f09416b7 100644 --- a/pisi/packagedb.py +++ b/pisi/packagedb.py @@ -16,7 +16,7 @@ # Authors: Eray Ozkural # Baris Metin -# we basically store everything in MetaData +# we basically store everything in PackageInfo class # yes, we are cheap import os @@ -33,7 +33,6 @@ import pisi.context as ctx import pisi.lockeddbshelve as shelve from pisi.itembyrepodb import ItemByRepoDB import pisi.itembyrepodb as itembyrepodb -from pisi.metadata import MetaData class Error(pisi.Error): pass @@ -59,27 +58,17 @@ class PackageDB(object): self.d.destroy() self.dr.destroy() - def has_metadata(self, name, repo=None, txn = None): - return self.d.has_key(name, repo, txn=txn) - def has_package(self, name, repo=None, txn = None): return self.d.has_key(name, repo, txn=txn) - def get_metadata(self, name, repo=None, txn = None): + def get_package(self, name, repo=None, txn = None): try: return self.d.get_item(name, repo, txn=txn) except pisi.itembyrepodb.NotfoundError, e: raise Error(_('Package %s not found') % name) - def get_package(self, name, repo=None, txn = None): - return self.get_metadata(name, repo, txn).package - - def get_metadata_repo(self, name, repo=None, txn = None): - return self.d.get_item_repo(name, repo, txn=txn) - def get_package_repo(self, name, repo=None, txn = None): - metadata, repo = self.get_metadata_repo(name, repo, txn=txn) - return metadata.package, repo + return self.d.get_item_repo(name, repo, txn=txn) def which_repo(self, name, txn = None): return self.d.which_repo(name, txn=txn) @@ -90,18 +79,14 @@ class PackageDB(object): else: return [] - def list_metadatas(self, repo=None, show_tracking=False): + def list_packages(self, repo=None, show_tracking=False): return self.d.list(repo, show_tracking=show_tracking) - def list_packages(self, repo=None, show_tracking=False): - return self.list_metadatas(repo, show_tracking) - - def add_metadata(self, metadata, repo, txn = None): - package_info = metadata.package + def add_package(self, package_info, repo, txn = None): name = str(package_info.name) def proc(txn): - self.d.add_item(name, metadata, repo, txn) + self.d.add_item(name, package_info, repo, txn) for dep in package_info.runtimeDependencies(): dep_name = str(dep.package) if self.dr.has_key(dep_name, None, txn): @@ -120,22 +105,17 @@ class PackageDB(object): for (lang, doc) in package_info.description.iteritems(): if lang in ['en', 'tr']: pisi.search.add_doc('description', lang, package_info.name, doc, txn) - ctx.txn_proc(proc, txn) - def add_package(self, package_info, repo, txn = None): - metadata = MetaData() - metadata.package = package_info - self.add_metadata(metadata, repo, txn) + ctx.txn_proc(proc, txn) def clear(self, txn = None): self.d.clear() self.dr.clear() - def remove_metadata(self, name, repo = None, txn = None): + def remove_package(self, name, repo = None, txn = None): name = str(name) def proc(txn): - metadata = self.d.get_item(name, repo, txn=txn) - package_info = metadata.package + package_info = self.d.get_item(name, repo, txn=txn) self.d.remove_item(name, repo, txn=txn) if self.dr.has_key(name, repo, txn=txn): self.dr.remove_item(name, repo, txn=txn) @@ -143,10 +123,7 @@ class PackageDB(object): if type(repo)==types.StringType: ctx.componentdb.remove_package(package_info.partOf, package_info.name, txn) self.d.txn_proc(proc, txn) - - def remove_package(self, name, repo = None, txn = None): - return self.remove_metadata(name, repo, txn) - + def remove_repo(self, repo, txn = None): def proc(txn): self.d.remove_repo(repo, txn=txn)