* 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
|
# 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
|
__filesdbversion__ = "1.0.5" # yes, this is the real bottleneck
|
||||||
|
|
||||||
__all__ = [ 'api', 'config', 'packagedb', 'installdb', 'search' ]
|
__all__ = [ 'api', 'config', 'packagedb', 'installdb', 'search' ]
|
||||||
|
|||||||
+9
-32
@@ -16,7 +16,7 @@
|
|||||||
# Authors: Eray Ozkural <eray@pardus.org.tr>
|
# Authors: Eray Ozkural <eray@pardus.org.tr>
|
||||||
# Baris Metin <baris@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
|
# yes, we are cheap
|
||||||
|
|
||||||
import os
|
import os
|
||||||
@@ -33,7 +33,6 @@ import pisi.context as ctx
|
|||||||
import pisi.lockeddbshelve as shelve
|
import pisi.lockeddbshelve as shelve
|
||||||
from pisi.itembyrepodb import ItemByRepoDB
|
from pisi.itembyrepodb import ItemByRepoDB
|
||||||
import pisi.itembyrepodb as itembyrepodb
|
import pisi.itembyrepodb as itembyrepodb
|
||||||
from pisi.metadata import MetaData
|
|
||||||
|
|
||||||
class Error(pisi.Error):
|
class Error(pisi.Error):
|
||||||
pass
|
pass
|
||||||
@@ -59,27 +58,17 @@ class PackageDB(object):
|
|||||||
self.d.destroy()
|
self.d.destroy()
|
||||||
self.dr.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):
|
def has_package(self, name, repo=None, txn = None):
|
||||||
return self.d.has_key(name, repo, txn=txn)
|
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:
|
try:
|
||||||
return self.d.get_item(name, repo, txn=txn)
|
return self.d.get_item(name, repo, txn=txn)
|
||||||
except pisi.itembyrepodb.NotfoundError, e:
|
except pisi.itembyrepodb.NotfoundError, e:
|
||||||
raise Error(_('Package %s not found') % name)
|
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):
|
def get_package_repo(self, name, repo=None, txn = None):
|
||||||
metadata, repo = self.get_metadata_repo(name, repo, txn=txn)
|
return self.d.get_item_repo(name, repo, txn=txn)
|
||||||
return metadata.package, repo
|
|
||||||
|
|
||||||
def which_repo(self, name, txn = None):
|
def which_repo(self, name, txn = None):
|
||||||
return self.d.which_repo(name, txn=txn)
|
return self.d.which_repo(name, txn=txn)
|
||||||
@@ -90,18 +79,14 @@ class PackageDB(object):
|
|||||||
else:
|
else:
|
||||||
return []
|
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)
|
return self.d.list(repo, show_tracking=show_tracking)
|
||||||
|
|
||||||
def list_packages(self, repo=None, show_tracking=False):
|
def add_package(self, package_info, repo, txn = None):
|
||||||
return self.list_metadatas(repo, show_tracking)
|
|
||||||
|
|
||||||
def add_metadata(self, metadata, repo, txn = None):
|
|
||||||
package_info = metadata.package
|
|
||||||
name = str(package_info.name)
|
name = str(package_info.name)
|
||||||
|
|
||||||
def proc(txn):
|
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():
|
for dep in package_info.runtimeDependencies():
|
||||||
dep_name = str(dep.package)
|
dep_name = str(dep.package)
|
||||||
if self.dr.has_key(dep_name, None, txn):
|
if self.dr.has_key(dep_name, None, txn):
|
||||||
@@ -120,22 +105,17 @@ class PackageDB(object):
|
|||||||
for (lang, doc) in package_info.description.iteritems():
|
for (lang, doc) in package_info.description.iteritems():
|
||||||
if lang in ['en', 'tr']:
|
if lang in ['en', 'tr']:
|
||||||
pisi.search.add_doc('description', lang, package_info.name, doc, txn)
|
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):
|
ctx.txn_proc(proc, txn)
|
||||||
metadata = MetaData()
|
|
||||||
metadata.package = package_info
|
|
||||||
self.add_metadata(metadata, repo, txn)
|
|
||||||
|
|
||||||
def clear(self, txn = None):
|
def clear(self, txn = None):
|
||||||
self.d.clear()
|
self.d.clear()
|
||||||
self.dr.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)
|
name = str(name)
|
||||||
def proc(txn):
|
def proc(txn):
|
||||||
metadata = self.d.get_item(name, repo, txn=txn)
|
package_info = self.d.get_item(name, repo, txn=txn)
|
||||||
package_info = metadata.package
|
|
||||||
self.d.remove_item(name, repo, txn=txn)
|
self.d.remove_item(name, repo, txn=txn)
|
||||||
if self.dr.has_key(name, repo, txn=txn):
|
if self.dr.has_key(name, repo, txn=txn):
|
||||||
self.dr.remove_item(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)
|
ctx.componentdb.remove_package(package_info.partOf, package_info.name, txn)
|
||||||
self.d.txn_proc(proc, 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 remove_repo(self, repo, txn = None):
|
||||||
def proc(txn):
|
def proc(txn):
|
||||||
self.d.remove_repo(repo, txn=txn)
|
self.d.remove_repo(repo, txn=txn)
|
||||||
|
|||||||
Reference in New Issue
Block a user