From ccbcf5d16578cf8527e49d30ea44f3502c4e2383 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eray=20=C3=96zkural?= Date: Thu, 23 Mar 2006 11:38:02 +0000 Subject: [PATCH] * fix: raise error when dbversion not present and in read mode * fix: do not try to init dbenv unnecessarily --- pisi/api.py | 2 +- pisi/lockeddbshelve.py | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/pisi/api.py b/pisi/api.py index 88d004a0..1310e919 100644 --- a/pisi/api.py +++ b/pisi/api.py @@ -336,9 +336,9 @@ def rebuild_db(files=False): def destroy(files): #from pisi.lockeddbshelve import LockedDBShelf + #pisi.lockeddbshelve.init_dbenv(write=True) #TODO: either don't delete version files here, or remove force flag... import bsddb3.db - pisi.lockeddbshelve.init_dbenv(write=True) for db in os.listdir(ctx.config.db_dir()): if db.endswith('.bdb') or db.startswith('log'): # delete only db files if db.startswith('files') or db.startswith('filesdbversion'): diff --git a/pisi/lockeddbshelve.py b/pisi/lockeddbshelve.py index 3dae6f5a..7d8affeb 100644 --- a/pisi/lockeddbshelve.py +++ b/pisi/lockeddbshelve.py @@ -54,12 +54,14 @@ def check_dbversion(versionfile, ver, write=False, force=False): return True # return if force not set and db version ok if write: if os.access(pisi.context.config.db_dir(), os.W_OK): - ctx.ui.warning(_('Writing current database version')) + ctx.ui.warning(_('Writing current database version for %s') % versionfile) verfile = file(verfn, 'w') verfile.write(ver) verfile.close() else: raise Error(_('Cannot attain write access to database environment')) + else: + raise Error(_('Database version %s not present.') % versionfile) def init_dbenv(write=False, writeversion=False): if os.access(pisi.context.config.db_dir(), os.R_OK):