* ..... ...igimin python class'leri ne newstyle ne oldstyle karistirmamak gerekiyor galiba
This commit is contained in:
+28
-17
@@ -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]
|
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user