* ..... ...igimin python class'leri ne newstyle ne oldstyle karistirmamak gerekiyor galiba

This commit is contained in:
Eray Özkural
2005-06-28 12:24:10 +00:00
parent 9b5270be1e
commit b853e9987b
2 changed files with 35 additions and 23 deletions
+28 -17
View File
@@ -7,30 +7,41 @@
# we basically store everything in PackageInfo class # we basically store everything in PackageInfo class
# yes, we are cheap # yes, we are cheap
import bsddb.dbshelve as shelve from bsddb.dbshelve import DBShelf
import os import os
import util import util
from config import config from config import config
from bsddb import db
util.check_dir(config.db_dir()) class PackageDB(DBShelf):
d = shelve.open( os.path.join(config.db_dir(), 'package.bdb') )
def clear(): def __init__(self):
d.clear() 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): def get_package(self, name):
name = str(name) name = str(name)
return d.has_key(name) return self[name]
def get_package(name): def add_package(self, package_info):
name = str(name) name = str(package_info.name)
return d[name] self[name] = package_info
def add_package(package_info): def remove_package(self, name):
name = str(package_info.name) name = str(name)
d[name] = package_info del self[name]
packagedb = PackageDB()
def remove_package(name):
name = str(name)
del d[name]
+7 -6
View File
@@ -2,22 +2,23 @@
import unittest import unittest
import os import os
from pisi import packagedb from pisi.packagedb import packagedb
from pisi import util from pisi import util
from pisi import context from pisi import context
class PackageDBTestCase(unittest.TestCase): class PackageDBTestCase(unittest.TestCase):
def setUp(self): def setUp(self):
self.ctx = context.BuildContext("samples/popt/popt.pspec") self.ctx = context.BuildContext('samples/popt/popt.pspec')
def testAdd(self): def testAdd(self):
packagedb.add_package("testpackagedb", self.ctx.spec.packages[0]) packagedb.add_package(self.ctx.spec.packages[0])
self.assert_(packagedb.has_package("testpackagedb")) self.assert_(packagedb.has_package('popt-libs'))
def testRemove(self): def testRemove(self):
self.testAdd() self.testAdd()
packagedb.remove_package("testpackagedb") packagedb.remove_package('popt-libs')
self.assert_(not packagedb.has_package("testpackagedb")) self.assert_(not packagedb.has_package('popt-libs'))
suite = unittest.makeSuite(PackageDBTestCase) suite = unittest.makeSuite(PackageDBTestCase)