Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 2c8373b

Browse files
committed
Honor the mode argument to dumbdbm.open(); there is not good reason not to,
especially since the documentation described it in detail. This partially closes SF bug #490098.
1 parent 301d0f8 commit 2c8373b

1 file changed

Lines changed: 7 additions & 6 deletions

File tree

Lib/dumbdbm.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,16 @@
3232

3333
class _Database:
3434

35-
def __init__(self, file):
35+
def __init__(self, file, mode):
36+
self._mode = mode
3637
self._dirfile = file + _os.extsep + 'dir'
3738
self._datfile = file + _os.extsep + 'dat'
3839
self._bakfile = file + _os.extsep + 'bak'
3940
# Mod by Jack: create data file if needed
4041
try:
4142
f = _open(self._datfile, 'r')
4243
except IOError:
43-
f = _open(self._datfile, 'w')
44+
f = _open(self._datfile, 'w', self._mode)
4445
f.close()
4546
self._update()
4647

@@ -63,7 +64,7 @@ def _commit(self):
6364
except _os.error: pass
6465
try: _os.rename(self._dirfile, self._bakfile)
6566
except _os.error: pass
66-
f = _open(self._dirfile, 'w')
67+
f = _open(self._dirfile, 'w', self._mode)
6768
for key, (pos, siz) in self._index.items():
6869
f.write("%s, (%s, %s)\n" % (`key`, `pos`, `siz`))
6970
f.close()
@@ -100,7 +101,7 @@ def _setval(self, pos, val):
100101

101102
def _addkey(self, key, (pos, siz)):
102103
self._index[key] = (pos, siz)
103-
f = _open(self._dirfile, 'a')
104+
f = _open(self._dirfile, 'a', self._mode)
104105
f.write("%s, (%s, %s)\n" % (`key`, `pos`, `siz`))
105106
f.close()
106107

@@ -146,6 +147,6 @@ def close(self):
146147
self._datfile = self._dirfile = self._bakfile = None
147148

148149

149-
def open(file, flag=None, mode=None):
150+
def open(file, flag=None, mode=0666):
150151
# flag, mode arguments are currently ignored
151-
return _Database(file)
152+
return _Database(file, mode)

0 commit comments

Comments
 (0)