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

Skip to content

Commit 3d75d0c

Browse files
author
Victor Stinner
committed
Issue #8603: Environ.data is now protected -> Environ._data
os.environ.data was a str dict in Python 3.1. In Python 3.2 on UNIX/BSD, os.environ.data is now a bytes dict: mark it as protected to avoid confusion.
1 parent 00ebe2c commit 3d75d0c

2 files changed

Lines changed: 8 additions & 9 deletions

File tree

Lib/os.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -420,34 +420,34 @@ def __init__(self, data, encodekey, decodekey, encodevalue, decodevalue, putenv,
420420
self.decodevalue = decodevalue
421421
self.putenv = putenv
422422
self.unsetenv = unsetenv
423-
self.data = data
423+
self._data = data
424424

425425
def __getitem__(self, key):
426-
value = self.data[self.encodekey(key)]
426+
value = self._data[self.encodekey(key)]
427427
return self.decodevalue(value)
428428

429429
def __setitem__(self, key, value):
430430
key = self.encodekey(key)
431431
value = self.encodevalue(value)
432432
self.putenv(key, value)
433-
self.data[key] = value
433+
self._data[key] = value
434434

435435
def __delitem__(self, key):
436436
key = self.encodekey(key)
437437
self.unsetenv(key)
438-
del self.data[key]
438+
del self._data[key]
439439

440440
def __iter__(self):
441-
for key in self.data:
441+
for key in self._data:
442442
yield self.decodekey(key)
443443

444444
def __len__(self):
445-
return len(self.data)
445+
return len(self._data)
446446

447447
def __repr__(self):
448448
return 'environ({{{}}})'.format(', '.join(
449449
('{!r}: {!r}'.format(self.decodekey(key), self.decodevalue(value))
450-
for key, value in self.data.items())))
450+
for key, value in self._data.items())))
451451

452452
def copy(self):
453453
return dict(self)
@@ -521,7 +521,7 @@ def _check_bytes(value):
521521
return value
522522

523523
# bytes environ
524-
environb = _Environ(environ.data,
524+
environb = _Environ(environ._data,
525525
_check_bytes, bytes,
526526
_check_bytes, bytes,
527527
_putenv, _unsetenv)

Lib/test/test_os.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -422,7 +422,6 @@ def test_items(self):
422422
def test___repr__(self):
423423
"""Check that the repr() of os.environ looks like environ({...})."""
424424
env = os.environ
425-
self.assertTrue(isinstance(env.data, dict))
426425
self.assertEqual(repr(env), 'environ({{{}}})'.format(', '.join(
427426
'{!r}: {!r}'.format(key, value)
428427
for key, value in env.items())))

0 commit comments

Comments
 (0)