comparison contrib/setup3k.py @ 14972:bcba68e81a81

setup3k: use getattr instead of hasattr Note that hasattr is fixed on Python 3, so this is more about being concise and keeping check-code happy than actual correctness of code.
author Augie Fackler <durin42@gmail.com>
date Mon, 25 Jul 2011 16:07:52 -0500
parents 4c50552fc9bc
children 0d4f6e843b05
comparison
equal deleted inserted replaced
14971:0b21ae0a2366 14972:bcba68e81a81
6 6
7 from distutils.command.build_py import build_py_2to3 7 from distutils.command.build_py import build_py_2to3
8 from lib2to3.refactor import get_fixers_from_package as getfixers 8 from lib2to3.refactor import get_fixers_from_package as getfixers
9 9
10 import sys 10 import sys
11 if not hasattr(sys, 'version_info') or sys.version_info < (2, 4, 0, 'final'): 11 if getattr(sys, 'version_info', (0, 0, 0)) < (2, 4, 0, 'final'):
12 raise SystemExit("Mercurial requires Python 2.4 or later.") 12 raise SystemExit("Mercurial requires Python 2.4 or later.")
13 13
14 if sys.version_info[0] >= 3: 14 if sys.version_info[0] >= 3:
15 def b(s): 15 def b(s):
16 '''A helper function to emulate 2.6+ bytes literals using string 16 '''A helper function to emulate 2.6+ bytes literals using string
234 234
235 def build_extension(self, ext): 235 def build_extension(self, ext):
236 try: 236 try:
237 build_ext.build_extension(self, ext) 237 build_ext.build_extension(self, ext)
238 except CCompilerError: 238 except CCompilerError:
239 if not hasattr(ext, 'optional') or not ext.optional: 239 if getattr(ext, 'optional', False):
240 raise 240 raise
241 log.warn("Failed to build optional extension '%s' (skipping)", 241 log.warn("Failed to build optional extension '%s' (skipping)",
242 ext.name) 242 ext.name)
243 243
244 class hgbuildpy(build_py_2to3): 244 class hgbuildpy(build_py_2to3):