Projects
/
mdb-ng
Archived
4
0
Fork 0

Added functionality and (optimistic) test for check of .format files.

This commit is contained in:
Øyvind Grønnesby 2005-03-17 23:42:28 +00:00
parent 4d18c3c29a
commit 0c9e2826b8
4 changed files with 63 additions and 4 deletions

View File

@ -1,3 +1,14 @@
#
# $Id$
#
#
# import the interface
#
from db import connect, disconnect
#
# import the different submodules
#
import db, rcs

View File

@ -5,6 +5,9 @@
# itself while defining objects that the database will return.
#
import rcs, re
#
# The most generic exception that this library will raise.
#
@ -53,6 +56,18 @@ class PVVDB:
# clean up locks and such before being deleted.
pass
def __format(self, file_path):
# parses and verifies the .format files for a database.
fh = file(file_path)
fmt = {}
for line in fh:
if line[0] == "#":
continue
name, value = line.strip().split(":", 1)
value = value.split("#", 1)[0].strip()
fmt[name] = value
return fmt
def lock(self, username):
# Lock the record.
pass
@ -76,13 +91,19 @@ class PVVDB:
#
# Regular interface to the database.
#
pathmap = {}
def connect(path):
# returns a PVVDB instance to that path. If asked for another
# PVVDB instance with the same path as earlier, it will return
# the same object.
pass
if not path in pathmap:
pathmap[path] = PVVDB(path)
return pathmap[path]
def disconnect(dbo):
# do not do anything, really. PVVDB objects will clean up
# automatically when deleted.
# automatically when deleted. is here for future database
# systems.
pass

View File

@ -14,17 +14,33 @@ class mdbTest(TestCase):
class connectTest(mdbTest):
def test_1(self):
def test_0(self):
db = self.mdb.connect("inputs/db-0/")
self.failUnless(db.__class__ == self.mdb.db.PVVDB)
class disconnectTest(mdbTest):
def test_1(self):
def test_0(self):
db = self.mdb.connect("inputs/db-0/")
self.mdb.disconnect(db)
class formatTest(mdbTest):
def test_0(self):
db = self.mdb.connect("inputs/db-0/")
format = db._PVVDB__format("inputs/format-legal-00")
self.failUnless(format['username'] == 'scalar' and
format['realname'] == 'scalar' and
format['uid'] == 'scalar' and
format['disk'] == 'list' and
format['bdb-uid'] == 'scalar' and
format['bdb-username'] == 'scalar' and
format['purged'] == 'scalar' and
format['membership'] == 'list')
#
# Run the library tests.
#

View File

@ -0,0 +1,11 @@
#
# $Id$
#
username: scalar
realname: scalar
uid: scalar
disk: list # hvert element i lista er en 2-tuple adskilt med space
bdb-uid: scalar
bdb-username: scalar
purged: scalar
membership: list # hvert element i lista er en 2-tuple adskilt med space