From b853e9987b871b5e9daf72228c4f9f32ca9f6eea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eray=20=C3=96zkural?= Date: Tue, 28 Jun 2005 12:24:10 +0000 Subject: [PATCH] * ..... ...igimin python class'leri ne newstyle ne oldstyle karistirmamak gerekiyor galiba --- pisi/packagedb.py | 45 +++++++++++++++++++++++++---------------- tests/packagedbtests.py | 13 ++++++------ 2 files changed, 35 insertions(+), 23 deletions(-) diff --git a/pisi/packagedb.py b/pisi/packagedb.py index 4c1ac31c..ee351071 100644 --- a/pisi/packagedb.py +++ b/pisi/packagedb.py @@ -7,30 +7,41 @@ # we basically store everything in PackageInfo class # yes, we are cheap -import bsddb.dbshelve as shelve +from bsddb.dbshelve import DBShelf import os import util from config import config +from bsddb import db -util.check_dir(config.db_dir()) -d = shelve.open( os.path.join(config.db_dir(), 'package.bdb') ) +class PackageDB(DBShelf): -def clear(): - d.clear() + def __init__(self): + DBShelf.__init__(self) + util.check_dir(config.db_dir()) + filename = os.path.join(config.db_dir(), 'package.bdb') + #d.open(filename, dbname, filetype, flags, mode) + flags = 0 + mode = 0660 + filetype=db.DB_HASH + dbname = None + self.open( filename, dbname, filetype, flags, mode ) + + def has_package(self, name): + name = str(name) + return self.has_key(name) -def has_package(name): - name = str(name) - return d.has_key(name) + def get_package(self, name): + name = str(name) + return self[name] -def get_package(name): - name = str(name) - return d[name] + def add_package(self, package_info): + name = str(package_info.name) + self[name] = package_info -def add_package(package_info): - name = str(package_info.name) - d[name] = package_info + def remove_package(self, name): + name = str(name) + del self[name] + +packagedb = PackageDB() -def remove_package(name): - name = str(name) - del d[name] diff --git a/tests/packagedbtests.py b/tests/packagedbtests.py index e6b74326..fad3d506 100644 --- a/tests/packagedbtests.py +++ b/tests/packagedbtests.py @@ -2,22 +2,23 @@ import unittest import os -from pisi import packagedb +from pisi.packagedb import packagedb from pisi import util from pisi import context class PackageDBTestCase(unittest.TestCase): def setUp(self): - self.ctx = context.BuildContext("samples/popt/popt.pspec") + self.ctx = context.BuildContext('samples/popt/popt.pspec') def testAdd(self): - packagedb.add_package("testpackagedb", self.ctx.spec.packages[0]) - self.assert_(packagedb.has_package("testpackagedb")) + packagedb.add_package(self.ctx.spec.packages[0]) + self.assert_(packagedb.has_package('popt-libs')) def testRemove(self): self.testAdd() - packagedb.remove_package("testpackagedb") - self.assert_(not packagedb.has_package("testpackagedb")) + packagedb.remove_package('popt-libs') + self.assert_(not packagedb.has_package('popt-libs')) suite = unittest.makeSuite(PackageDBTestCase) +