Vega strike Python Modules doc  0.5.1
Documentation of the " Modules " folder of Vega strike
 All Data Structures Namespaces Files Functions Variables
anydbm Namespace Reference

Data Structures

class  error
 

Functions

def open
 

Variables

string error = "anydbm.error"
 
list _names = ['dbhash', 'gdbm', 'dbm', 'dumbdbm']
 
list _errors = [error]
 
 _defaultmod = None
 
tuple _mod = __import__(_name)
 

Detailed Description

Generic interface to all dbm clones.

Instead of

import dbm
d = dbm.open(file, 'w', 0666)

use

import anydbm
d = anydbm.open(file, 'w')

The returned object is a dbhash, gdbm, dbm or dumbdbm object,
dependent on the type of database being opened (determined by whichdb
module) in the case of an existing dbm. If the dbm does not exist and
the create or new flag ('c' or 'n') was specified, the dbm type will
be determined by the availability of the modules (tested in the above
order).

It has the following interface (key and data are strings):

d[key] = data   # store data at key (may override data at
                # existing key)
data = d[key]   # retrieve data at key (raise KeyError if no
                # such key)
del d[key]      # delete data stored at key (raises KeyError
                # if no such key)
flag = d.has_key(key)   # true if the key exists
list = d.keys() # return a list of all existing keys (slow!)

Future versions may change the order in which implementations are
tested for existence, add interfaces to other dbm-like
implementations.

The open function has an optional second argument.  This can be 'r',
for read-only access, 'w', for read-write access of an existing
database, 'c' for read-write access to a new or existing database, and
'n' for read-write access to a new database.  The default is 'r'.

Note: 'r' and 'w' fail if the database doesn't exist; 'c' creates it
only if it doesn't exist; and 'n' always creates a new database.

Function Documentation

def anydbm.open (   file,
  flag = 'r',
  mode = 0666 
)

Definition at line 69 of file anydbm.py.

69 
70 def open(file, flag = 'r', mode = 0666):
71  # guess the type of an existing database
72  from whichdb import whichdb
73  result=whichdb(file)
74  if result is None:
75  # db doesn't exist
76  if 'c' in flag or 'n' in flag:
77  # file doesn't exist and the new
78  # flag was used so use default type
79  mod = _defaultmod
80  else:
81  raise error, "need 'c' or 'n' flag to open new db"
82  elif result == "":
83  # db type cannot be determined
84  raise error, "db type could not be determined"
85  else:
86  mod = __import__(result)
87  return mod.open(file, flag, mode)

Variable Documentation

_defaultmod = None

Definition at line 53 of file anydbm.py.

list _errors = [error]

Definition at line 52 of file anydbm.py.

tuple _mod = __import__(_name)

Definition at line 57 of file anydbm.py.

list _names = ['dbhash', 'gdbm', 'dbm', 'dumbdbm']

Definition at line 51 of file anydbm.py.

tuple error = "anydbm.error"

Definition at line 49 of file anydbm.py.