|
2 | 2 |
|
3 | 3 | Instead of |
4 | 4 |
|
5 | | - import dbm |
6 | | - d = dbm.open(file, 'w', 0666) |
| 5 | + import dbm |
| 6 | + d = dbm.open(file, 'w', 0666) |
7 | 7 |
|
8 | 8 | use |
9 | 9 |
|
10 | | - import anydbm |
11 | | - d = anydbm.open(file, 'w') |
| 10 | + import anydbm |
| 11 | + d = anydbm.open(file, 'w') |
12 | 12 |
|
13 | 13 | The returned object is a dbhash, gdbm, dbm or dumbdbm object, |
14 | 14 | dependent on the type of database being opened (determined by whichdb |
|
19 | 19 |
|
20 | 20 | It has the following interface (key and data are strings): |
21 | 21 |
|
22 | | - d[key] = data # store data at key (may override data at |
23 | | - # existing key) |
24 | | - data = d[key] # retrieve data at key (raise KeyError if no |
25 | | - # such key) |
26 | | - del d[key] # delete data stored at key (raises KeyError |
27 | | - # if no such key) |
28 | | - flag = d.has_key(key) # true if the key exists |
29 | | - list = d.keys() # return a list of all existing keys (slow!) |
| 22 | + d[key] = data # store data at key (may override data at |
| 23 | + # existing key) |
| 24 | + data = d[key] # retrieve data at key (raise KeyError if no |
| 25 | + # such key) |
| 26 | + del d[key] # delete data stored at key (raises KeyError |
| 27 | + # if no such key) |
| 28 | + flag = d.has_key(key) # true if the key exists |
| 29 | + list = d.keys() # return a list of all existing keys (slow!) |
30 | 30 |
|
31 | 31 | Future versions may change the order in which implementations are |
32 | 32 | tested for existence, add interfaces to other dbm-like |
|
43 | 43 | """ |
44 | 44 |
|
45 | 45 | try: |
46 | | - class error(Exception): |
47 | | - pass |
| 46 | + class error(Exception): |
| 47 | + pass |
48 | 48 | except: |
49 | | - error = "anydbm.error" |
| 49 | + error = "anydbm.error" |
50 | 50 |
|
51 | 51 | _names = ['dbhash', 'gdbm', 'dbm', 'dumbdbm'] |
52 | 52 | _errors = [error] |
53 | 53 | _defaultmod = None |
54 | 54 |
|
55 | 55 | for _name in _names: |
56 | | - try: |
57 | | - _mod = __import__(_name) |
58 | | - except ImportError: |
59 | | - continue |
60 | | - if not _defaultmod: |
61 | | - _defaultmod = _mod |
62 | | - _errors.append(_mod.error) |
| 56 | + try: |
| 57 | + _mod = __import__(_name) |
| 58 | + except ImportError: |
| 59 | + continue |
| 60 | + if not _defaultmod: |
| 61 | + _defaultmod = _mod |
| 62 | + _errors.append(_mod.error) |
63 | 63 |
|
64 | 64 | if not _defaultmod: |
65 | | - raise ImportError, "no dbm clone found; tried %s" % _names |
| 65 | + raise ImportError, "no dbm clone found; tried %s" % _names |
66 | 66 |
|
67 | 67 | error = tuple(_errors) |
68 | 68 |
|
69 | 69 | def open(file, flag = 'r', mode = 0666): |
70 | | - # guess the type of an existing database |
71 | | - from whichdb import whichdb |
72 | | - result=whichdb(file) |
73 | | - if result is None: |
74 | | - # db doesn't exist |
75 | | - if 'c' in flag or 'n' in flag: |
76 | | - # file doesn't exist and the new |
77 | | - # flag was used so use default type |
78 | | - mod = _defaultmod |
79 | | - else: |
80 | | - raise error, "need 'c' or 'n' flag to open new db" |
81 | | - elif result == "": |
82 | | - # db type cannot be determined |
83 | | - raise error, "db type could not be determined" |
84 | | - else: |
85 | | - mod = __import__(result) |
86 | | - return mod.open(file, flag, mode) |
| 70 | + # guess the type of an existing database |
| 71 | + from whichdb import whichdb |
| 72 | + result=whichdb(file) |
| 73 | + if result is None: |
| 74 | + # db doesn't exist |
| 75 | + if 'c' in flag or 'n' in flag: |
| 76 | + # file doesn't exist and the new |
| 77 | + # flag was used so use default type |
| 78 | + mod = _defaultmod |
| 79 | + else: |
| 80 | + raise error, "need 'c' or 'n' flag to open new db" |
| 81 | + elif result == "": |
| 82 | + # db type cannot be determined |
| 83 | + raise error, "db type could not be determined" |
| 84 | + else: |
| 85 | + mod = __import__(result) |
| 86 | + return mod.open(file, flag, mode) |
0 commit comments