From 5af4c971521d9ed9268ca429b4cdf098977312fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eray=20=C3=96zkural?= Date: Wed, 7 Dec 2005 10:28:07 +0000 Subject: [PATCH] * fix: I want to use BTree not hash. who reverted that? :/ * use bsddb3 * check-source-repo: print version * install pisi.search * search: close db if init'd --- pisi/lockeddbshelve.py | 6 +++--- pisi/packagedb.py | 2 -- pisi/repodb.py | 1 - pisi/search/__init__.py | 10 +++++----- pisi/sourcedb.py | 2 -- setup.py | 2 +- tools/cat-db.py | 2 +- tools/check-source-repo.py | 2 +- 8 files changed, 11 insertions(+), 16 deletions(-) diff --git a/pisi/lockeddbshelve.py b/pisi/lockeddbshelve.py index ff2534ce..8da1073b 100644 --- a/pisi/lockeddbshelve.py +++ b/pisi/lockeddbshelve.py @@ -12,8 +12,8 @@ # # Authors: Eray Ozkural -import bsddb.dbshelve as shelve -import bsddb.db as db +import bsddb3.dbshelve as shelve +import bsddb3.db as db import os import fcntl import types @@ -32,7 +32,7 @@ class LockedDBShelf(shelve.DBShelf): """A simple wrapper to implement locking for bsddb's dbshelf""" def __init__(self, dbname, mode=0644, - filetype=db.DB_HASH, dbenv=None): + filetype=db.DB_BTREE, dbenv=None): shelve.DBShelf.__init__(self, dbenv) filename = os.path.join( pisi.context.config.db_dir(), dbname + '.bdb') if os.access(os.path.dirname(filename), os.W_OK): diff --git a/pisi/packagedb.py b/pisi/packagedb.py index 0a11e83f..3c0434f8 100644 --- a/pisi/packagedb.py +++ b/pisi/packagedb.py @@ -19,9 +19,7 @@ # we basically store everything in PackageInfo class # yes, we are cheap -import bsddb.dbshelve as shelve import os, fcntl -from bsddb import db import gettext __trans = gettext.translation('pisi', fallback=True) diff --git a/pisi/repodb.py b/pisi/repodb.py index 4801ad55..e26fc226 100644 --- a/pisi/repodb.py +++ b/pisi/repodb.py @@ -12,7 +12,6 @@ # Author: Eray Ozkural -from bsddb import db import os, fcntl import gettext diff --git a/pisi/search/__init__.py b/pisi/search/__init__.py index 405980d3..4ec0de93 100644 --- a/pisi/search/__init__.py +++ b/pisi/search/__init__.py @@ -41,11 +41,11 @@ def init(ids, langs): def finalize(): import pisi.context as ctx - for id in ctx.invidx.iterkeys(): - for lang in ctx.invidx[id].iterkeys(): - ctx.invidx[id][lang].close() - - ctx.invidx = {} + if ctx.invidx: + for id in ctx.invidx.iterkeys(): + for lang in ctx.invidx[id].iterkeys(): + ctx.invidx[id][lang].close() + ctx.invidx = {} def add_doc(id, lang, docid, str): terms = preprocess(lang, str) diff --git a/pisi/sourcedb.py b/pisi/sourcedb.py index 29618d44..d9a85e6d 100644 --- a/pisi/sourcedb.py +++ b/pisi/sourcedb.py @@ -18,10 +18,8 @@ we basically store everything in sourceinfo class yes, we are cheap """ -import bsddb.dbshelve as shelve import os import fcntl -from bsddb import db import gettext __trans = gettext.translation('pisi', fallback=True) diff --git a/setup.py b/setup.py index 8ce9de2d..cbc6db7a 100755 --- a/setup.py +++ b/setup.py @@ -64,7 +64,7 @@ setup(name="pisi", author_email="pisi@uludag.org.tr", url="http://www.uludag.org.tr/eng/pisi/", package_dir = {'': ''}, - packages = ['pisi', 'pisi.cli', 'pisi.actionsapi', 'pisi.pxml'], + packages = ['pisi', 'pisi.cli', 'pisi.actionsapi', 'pisi.pxml', 'pisi.search'], scripts = ['pisi-cli', 'tools/ebuild2pisi.py', 'tools/repostats.py', 'tools/find-lib-deps.py', 'tools/update-environ.py', 'tools/lspisi'], diff --git a/tools/cat-db.py b/tools/cat-db.py index c7574085..4e430d0a 100755 --- a/tools/cat-db.py +++ b/tools/cat-db.py @@ -12,7 +12,7 @@ # Author: Eray Ozkural import sys -import bsddb.dbshelve as shelve +import bsddb3.dbshelve as shelve sys.path.append('.') diff --git a/tools/check-source-repo.py b/tools/check-source-repo.py index 15cc9ac7..11fc6aef 100755 --- a/tools/check-source-repo.py +++ b/tools/check-source-repo.py @@ -27,6 +27,6 @@ for root, dirs, files in os.walk(repo_uri): sf = specfile.SpecFile() sf.read(pisi.util.join_path(root, fn)) sf.check() - print sf.source.name + print '%s: %s' % (sf.source.name, sf.source.version) pisi.api.finalize()