Python 2.5 wants `0DIGITS', while Python 3 insists on `0oDIGITS'. The
latter is prettier, but the difference is annoying. We only need these
for Unix permissions, so just set up the ones we want in advance using
an explicit conversion from strings.
def _excval(): return _SYS.exc_info()[1]
def _excval(): return _SYS.exc_info()[1]
+_M600 = int("600", 8)
+_M700 = int("700", 8)
+
###--------------------------------------------------------------------------
### Text encoding utilities.
###--------------------------------------------------------------------------
### Text encoding utilities.
except _G.error: raise StorageBackendRefusal(_excval())
def _create(me, file):
except _G.error: raise StorageBackendRefusal(_excval())
def _create(me, file):
- me._db = _G.open(file, 'n', 0600)
+ me._db = _G.open(file, 'n', _M600)
def _close(me, abruptp):
me._db.close()
def _close(me, abruptp):
me._db.close()
('unknown database schema version (%d > %d)' % (ver, me.VERSION))
def _create(me, file):
('unknown database schema version (%d > %d)' % (ver, me.VERSION))
def _create(me, file):
- fd = _OS.open(file, _OS.O_WRONLY | _OS.O_CREAT | _OS.O_EXCL, 0600)
+ fd = _OS.open(file, _OS.O_WRONLY | _OS.O_CREAT | _OS.O_EXCL, _M600)
_OS.close(fd)
try:
me._db = _Q.connect(file)
_OS.close(fd)
try:
me._db = _Q.connect(file)
me._dirtyp = False
super(PlainTextBackend, me).__init__(*args, **kw)
me._dirtyp = False
super(PlainTextBackend, me).__init__(*args, **kw)
- def _create_file(me, file, mode = 0600, freshp = False):
+ def _create_file(me, file, mode = _M600, freshp = False):
"""
Make sure FILE exists, creating it with the given MODE if necessary.
"""
Make sure FILE exists, creating it with the given MODE if necessary.
if not line or line.startswith('#'): continue
me._parse_line(line)
if not line or line.startswith('#'): continue
me._parse_line(line)
- def _write_file(me, file, writebody, mode = 0600, magic = None):
+ def _write_file(me, file, writebody, mode = _M600, magic = None):
"""
Update FILE atomically.
"""
Update FILE atomically.
me._parse_meta(line)
def _create(me, file):
me._parse_meta(line)
def _create(me, file):
- _OS.mkdir(file, 0700)
- _OS.mkdir(_OS.path.join(file, 'pw'), 0700)
- _OS.mkdir(_OS.path.join(file, 'tmp'), 0700)
+ _OS.mkdir(file, _M700)
+ _OS.mkdir(_OS.path.join(file, 'pw'), _M700)
+ _OS.mkdir(_OS.path.join(file, 'tmp'), _M700)
me._mark_dirty()
me._dir = file
me._mark_dirty()
me._dir = file
with f: return f.read()
def _put_passwd(me, label, payload):
new = me._pwfile(label, 'tmp')
with f: return f.read()
def _put_passwd(me, label, payload):
new = me._pwfile(label, 'tmp')
- fd = _OS.open(new, _OS.O_WRONLY | _OS.O_CREAT | _OS.O_TRUNC, 0600)
+ fd = _OS.open(new, _OS.O_WRONLY | _OS.O_CREAT | _OS.O_TRUNC, _M600)
_OS.close(fd)
with open(new, 'wb') as f: f.write(payload)
_OS.rename(new, me._pwfile(label))
_OS.close(fd)
with open(new, 'wb') as f: f.write(payload)
_OS.rename(new, me._pwfile(label))