Mercurial > hg > vamp-build-and-test
comparison DEPENDENCIES/mingw32/Python27/Lib/site-packages/numpy/distutils/environment.py @ 87:2a2c65a20a8b
Add Python libs and headers
author | Chris Cannam |
---|---|
date | Wed, 25 Feb 2015 14:05:22 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
86:413a9d26189e | 87:2a2c65a20a8b |
---|---|
1 from __future__ import division, absolute_import, print_function | |
2 | |
3 import os | |
4 from distutils.dist import Distribution | |
5 | |
6 __metaclass__ = type | |
7 | |
8 class EnvironmentConfig(object): | |
9 def __init__(self, distutils_section='ALL', **kw): | |
10 self._distutils_section = distutils_section | |
11 self._conf_keys = kw | |
12 self._conf = None | |
13 self._hook_handler = None | |
14 | |
15 def dump_variable(self, name): | |
16 conf_desc = self._conf_keys[name] | |
17 hook, envvar, confvar, convert = conf_desc | |
18 if not convert: | |
19 convert = lambda x : x | |
20 print('%s.%s:' % (self._distutils_section, name)) | |
21 v = self._hook_handler(name, hook) | |
22 print(' hook : %s' % (convert(v),)) | |
23 if envvar: | |
24 v = os.environ.get(envvar, None) | |
25 print(' environ: %s' % (convert(v),)) | |
26 if confvar and self._conf: | |
27 v = self._conf.get(confvar, (None, None))[1] | |
28 print(' config : %s' % (convert(v),)) | |
29 | |
30 def dump_variables(self): | |
31 for name in self._conf_keys: | |
32 self.dump_variable(name) | |
33 | |
34 def __getattr__(self, name): | |
35 try: | |
36 conf_desc = self._conf_keys[name] | |
37 except KeyError: | |
38 raise AttributeError(name) | |
39 return self._get_var(name, conf_desc) | |
40 | |
41 def get(self, name, default=None): | |
42 try: | |
43 conf_desc = self._conf_keys[name] | |
44 except KeyError: | |
45 return default | |
46 var = self._get_var(name, conf_desc) | |
47 if var is None: | |
48 var = default | |
49 return var | |
50 | |
51 def _get_var(self, name, conf_desc): | |
52 hook, envvar, confvar, convert = conf_desc | |
53 var = self._hook_handler(name, hook) | |
54 if envvar is not None: | |
55 var = os.environ.get(envvar, var) | |
56 if confvar is not None and self._conf: | |
57 var = self._conf.get(confvar, (None, var))[1] | |
58 if convert is not None: | |
59 var = convert(var) | |
60 return var | |
61 | |
62 def clone(self, hook_handler): | |
63 ec = self.__class__(distutils_section=self._distutils_section, | |
64 **self._conf_keys) | |
65 ec._hook_handler = hook_handler | |
66 return ec | |
67 | |
68 def use_distribution(self, dist): | |
69 if isinstance(dist, Distribution): | |
70 self._conf = dist.get_option_dict(self._distutils_section) | |
71 else: | |
72 self._conf = dist |