]> granicus.if.org Git - python/commitdiff
Closes #29220: Fixed regression in logging.getLevelName().
authorVinay Sajip <vinay_sajip@yahoo.co.uk>
Wed, 11 Jan 2017 06:57:55 +0000 (06:57 +0000)
committerVinay Sajip <vinay_sajip@yahoo.co.uk>
Wed, 11 Jan 2017 06:57:55 +0000 (06:57 +0000)
Lib/logging/__init__.py
Lib/test/test_logging.py

index d886d35c12cee8a821b73a1d8b9f2e3ba5e08c69..fb866f39d90dce8cf983b94b8611c8e68c02d1c7 100644 (file)
@@ -131,9 +131,13 @@ def getLevelName(level):
 
     Otherwise, the string "Level %s" % level is returned.
     """
-    # See Issues #22386 and #27937 for why it's this way
-    return (_levelToName.get(level) or _nameToLevel.get(level) or
-            "Level %s" % level)
+    # See Issues #22386, #27937 and #29220 for why it's this way
+    result = _levelToName.get(level)
+    if result is None:
+        result = _nameToLevel.get(level)
+    if result is None:
+        result = "Level %s" % level
+    return result
 
 def addLevelName(level, levelName):
     """
index d5981e8ab8a464b3a3d79f053d0203c16edb8cf4..6a911528c7f430ccf57608615fb1e32f97fc09cc 100644 (file)
@@ -309,6 +309,12 @@ class BuiltinLevelsTest(BaseTest):
         self.assertEqual(logging.getLevelName('INFO'), logging.INFO)
         self.assertEqual(logging.getLevelName(logging.INFO), 'INFO')
 
+    def test_regression_29220(self):
+        """See issue #29220 for more information."""
+        logging.addLevelName(logging.INFO, '')
+        self.addCleanup(logging.addLevelName, logging.INFO, 'INFO')
+        self.assertEqual(logging.getLevelName(logging.INFO), '')
+
     def test_issue27935(self):
         fatal = logging.getLevelName('FATAL')
         self.assertEqual(fatal, logging.FATAL)