* ..... ...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
|
||||
# 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]
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user