* 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
This commit is contained in:
+2
-2
@@ -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' ]
|
||||
|
||||
+9
-32
@@ -16,7 +16,7 @@
|
||||
# Authors: Eray Ozkural <eray@pardus.org.tr>
|
||||
# Baris Metin <baris@pardus.org.tr>
|
||||
|
||||
# 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)
|
||||
@@ -144,9 +124,6 @@ class PackageDB(object):
|
||||
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)
|
||||
|
||||
Reference in New Issue
Block a user