Skip to content

Commit 912c246

Browse files
Benedikt's review
1 parent e632008 commit 912c246

File tree

2 files changed

+10
-13
lines changed

2 files changed

+10
-13
lines changed

Lib/pydoc.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -581,12 +581,9 @@ def _get_version(self, object):
581581
if self._is_stdlib_module(object):
582582
with warnings.catch_warnings():
583583
warnings.simplefilter("ignore", DeprecationWarning)
584-
if hasattr(object, '__version__'):
585-
return str(object.__version__)
584+
return str(getattr(object, '__version__', None))
586585
else:
587-
if hasattr(object, '__version__'):
588-
return str(object.__version__)
589-
return None
586+
return str(getattr(object, '__version__', None))
590587

591588
def _is_stdlib_module(self, object, basedir=None):
592589
basedir = self.STDLIB_DIR if basedir is None else basedir

Lib/test/test_pydoc/test_pydoc.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2310,13 +2310,13 @@ def test__get_version(self):
23102310
import json
23112311

23122312
class Module:
2313-
__name__ = 'fauxmod'
2313+
__name__ = 'my_module'
23142314

2315-
def __getattr__(self, name):
2316-
if name == "__version__":
2317-
from warnings import _deprecated
2318-
_deprecated("__version__", remove=(3, 20))
2319-
return "1"
2315+
@property
2316+
def __version__(self):
2317+
from warnings import _deprecated
2318+
_deprecated("__version__", remove=(3, 20))
2319+
return "1.2.3"
23202320

23212321
module = Module()
23222322
doc = pydoc.Doc()
@@ -2329,8 +2329,8 @@ def __getattr__(self, name):
23292329
with warnings.catch_warnings(record=True) as w:
23302330
warnings.simplefilter("always")
23312331
version = doc._get_version(module)
2332-
self.assertEqual(version, "1")
2333-
self.assertEqual(len(w), 2)
2332+
self.assertEqual(version, "1.2.3")
2333+
self.assertEqual(len(w), 1)
23342334

23352335

23362336
def setUpModule():

0 commit comments

Comments
 (0)