|
17 | 17 | import versioneer |
18 | 18 |
|
19 | 19 |
|
20 | | -PY3 = (sys.version_info[0] >= 3) |
| 20 | +PY3min = (sys.version_info[0] >= 3) |
| 21 | +PY32min = (PY3min and sys.version_info[1] >= 2 or sys.version_info[0] > 3) |
21 | 22 |
|
22 | 23 |
|
23 | 24 | # This is the version of FreeType to use when building a local |
|
28 | 29 | LOCAL_FREETYPE_HASH = '348e667d728c597360e4a87c16556597' |
29 | 30 |
|
30 | 31 | if sys.platform != 'win32': |
31 | | - if sys.version_info[0] < 3: |
| 32 | + if not PY3min: |
32 | 33 | from commands import getstatusoutput |
33 | 34 | else: |
34 | 35 | from subprocess import getstatusoutput |
35 | 36 |
|
36 | 37 |
|
37 | | -if PY3: |
| 38 | +if PY3min: |
38 | 39 | import configparser |
39 | 40 | else: |
40 | 41 | import ConfigParser as configparser |
|
51 | 52 |
|
52 | 53 | setup_cfg = os.environ.get('MPLSETUPCFG', 'setup.cfg') |
53 | 54 | if os.path.exists(setup_cfg): |
54 | | - config = configparser.SafeConfigParser() |
| 55 | + if PY32min: |
| 56 | + config = configparser.ConfigParser() |
| 57 | + else: |
| 58 | + config = configparser.SafeConfigParser() |
55 | 59 | config.read(setup_cfg) |
56 | 60 |
|
57 | 61 | if config.has_option('status', 'suppress'): |
@@ -495,12 +499,17 @@ class OptionalPackage(SetupPackage): |
495 | 499 | def get_config(cls): |
496 | 500 | """ |
497 | 501 | Look at `setup.cfg` and return one of ["auto", True, False] indicating |
498 | | - if the package is at default state ("auto"), forced by the user (True) |
499 | | - or opted-out (False). |
| 502 | + if the package is at default state ("auto"), forced by the user (case |
| 503 | + insensitively defined as 1, true, yes, on for True) or opted-out (case |
| 504 | + insensitively defined as 0, false, no, off for False). |
500 | 505 | """ |
| 506 | + conf = "auto" |
501 | 507 | if config is not None and config.has_option(cls.config_category, cls.name): |
502 | | - return config.get(cls.config_category, cls.name) |
503 | | - return "auto" |
| 508 | + try: |
| 509 | + conf = config.getboolean(cls.config_category, cls.name) |
| 510 | + except ValueError: |
| 511 | + conf = config.get(cls.config_category, cls.name) |
| 512 | + return conf |
504 | 513 |
|
505 | 514 | def check(self): |
506 | 515 | """ |
@@ -1393,7 +1402,7 @@ def __init__(self): |
1393 | 1402 |
|
1394 | 1403 | def check_requirements(self): |
1395 | 1404 | try: |
1396 | | - if PY3: |
| 1405 | + if PY3min: |
1397 | 1406 | import tkinter as Tkinter |
1398 | 1407 | else: |
1399 | 1408 | import Tkinter |
@@ -1444,7 +1453,7 @@ def query_tcltk(self): |
1444 | 1453 | return self.tcl_tk_cache |
1445 | 1454 |
|
1446 | 1455 | # By this point, we already know that Tkinter imports correctly |
1447 | | - if PY3: |
| 1456 | + if PY3min: |
1448 | 1457 | import tkinter as Tkinter |
1449 | 1458 | else: |
1450 | 1459 | import Tkinter |
@@ -1485,7 +1494,7 @@ def query_tcltk(self): |
1485 | 1494 |
|
1486 | 1495 | def parse_tcl_config(self, tcl_lib_dir, tk_lib_dir): |
1487 | 1496 | try: |
1488 | | - if PY3: |
| 1497 | + if PY3min: |
1489 | 1498 | import tkinter as Tkinter |
1490 | 1499 | else: |
1491 | 1500 | import Tkinter |
|
0 commit comments