summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVinay Sajip <vinay_sajip@yahoo.co.uk>2014-09-11 22:08:48 (GMT)
committerVinay Sajip <vinay_sajip@yahoo.co.uk>2014-09-11 22:08:48 (GMT)
commita56411e5d4c91027c65780c8bdc81dd943cd9c87 (patch)
tree857772ad8ad05b6c02af990831bfe8b7d581fc9f
parentee6c3c7162dee452dc42d9a1001bf1a0a1e15f26 (diff)
parentd1d4fbff6335cc638201a5d011b1c93d9d306b6b (diff)
downloadcpython-a56411e5d4c91027c65780c8bdc81dd943cd9c87.zip
cpython-a56411e5d4c91027c65780c8bdc81dd943cd9c87.tar.gz
cpython-a56411e5d4c91027c65780c8bdc81dd943cd9c87.tar.bz2
Closes #22386: merged fix from 3.4.
-rw-r--r--Doc/library/logging.rst4
-rw-r--r--Lib/logging/__init__.py3
-rw-r--r--Lib/test/test_logging.py4
3 files changed, 8 insertions, 3 deletions
diff --git a/Doc/library/logging.rst b/Doc/library/logging.rst
index a3e2770..9983711 100644
--- a/Doc/library/logging.rst
+++ b/Doc/library/logging.rst
@@ -1052,8 +1052,8 @@ functions.
.. versionchanged:: 3.4
In Python versions earlier than 3.4, this function could also be passed a
text level, and would return the corresponding numeric value of the level.
- This undocumented behaviour was a mistake, and has been removed in Python
- 3.4.
+ This undocumented behaviour was considered a mistake, and was removed in
+ Python 3.4, but reinstated in 3.4.2 due to retain backward compatibility.
.. function:: makeLogRecord(attrdict)
diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py
index a61c2b0..7fb3a35 100644
--- a/Lib/logging/__init__.py
+++ b/Lib/logging/__init__.py
@@ -129,7 +129,8 @@ def getLevelName(level):
Otherwise, the string "Level %s" % level is returned.
"""
- return _levelToName.get(level, ("Level %s" % level))
+ # See Issue #22386 for the reason for this convoluted expression
+ return _levelToName.get(level, _nameToLevel.get(level, ("Level %s" % level)))
def addLevelName(level, levelName):
"""
diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py
index 52412d1..070e636 100644
--- a/Lib/test/test_logging.py
+++ b/Lib/test/test_logging.py
@@ -307,6 +307,10 @@ class BuiltinLevelsTest(BaseTest):
('INF.BADPARENT', 'INFO', '4'),
])
+ def test_regression_22386(self):
+ """See issue #22386 for more information."""
+ self.assertEqual(logging.getLevelName('INFO'), logging.INFO)
+ self.assertEqual(logging.getLevelName(logging.INFO), 'INFO')
class BasicFilterTest(BaseTest):