comparison mercurial/extensions.py @ 50891:f75fd677cc05

extensions: use sysstr to check for attribute presence We do not need bytes here.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Wed, 30 Aug 2023 13:02:43 +0200
parents 3ccef7902070
children 538c5a48e8f4
comparison
equal deleted inserted replaced
50890:0e936b950731 50891:f75fd677cc05
984 return [name for name, mod in _extensions.items() if mod is None] 984 return [name for name, mod in _extensions.items() if mod is None]
985 985
986 986
987 def moduleversion(module): 987 def moduleversion(module):
988 '''return version information from given module as a string''' 988 '''return version information from given module as a string'''
989 if util.safehasattr(module, b'getversion') and callable(module.getversion): 989 if util.safehasattr(module, 'getversion') and callable(module.getversion):
990 try: 990 try:
991 version = module.getversion() 991 version = module.getversion()
992 except Exception: 992 except Exception:
993 version = b'unknown' 993 version = b'unknown'
994 994
995 elif util.safehasattr(module, b'__version__'): 995 elif util.safehasattr(module, '__version__'):
996 version = module.__version__ 996 version = module.__version__
997 else: 997 else:
998 version = b'' 998 version = b''
999 if isinstance(version, (list, tuple)): 999 if isinstance(version, (list, tuple)):
1000 version = b'.'.join(pycompat.bytestr(o) for o in version) 1000 version = b'.'.join(pycompat.bytestr(o) for o in version)