diff options
| author | FELD Boris <lothiraldan@gmail.com> | 2011-01-29 18:07:13 +0100 |
|---|---|---|
| committer | FELD Boris <lothiraldan@gmail.com> | 2011-01-29 18:07:13 +0100 |
| commit | 0d6dc4b70ae58c77e2c8e69db80bab5902a28a0b (patch) | |
| tree | dc2d8347fb602680e0866dab9ffdf82acc0028ca /distutils2/config.py | |
| parent | 339a31205cf0440309600d9b38cf80cab74d0de7 (diff) | |
| parent | 0ef975312695252417f90ad367614b2fdb8d1cd6 (diff) | |
| download | disutils2-0d6dc4b70ae58c77e2c8e69db80bab5902a28a0b.tar.gz | |
Merge with main branch
Diffstat (limited to 'distutils2/config.py')
| -rw-r--r-- | distutils2/config.py | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/distutils2/config.py b/distutils2/config.py index a62c9d8..9910edc 100644 --- a/distutils2/config.py +++ b/distutils2/config.py @@ -2,8 +2,10 @@ Know how to read all config files Distutils2 uses. """ +import os.path import os import sys +import re from ConfigParser import RawConfigParser from distutils2 import logger @@ -11,6 +13,7 @@ from distutils2.errors import DistutilsOptionError from distutils2.util import check_environ, resolve_name, strtobool from distutils2.compiler import set_compiler from distutils2.command import set_command +from distutils2.datafiles import resources_dests class Config(object): """Reads configuration files and work with the Distribution instance @@ -82,7 +85,7 @@ class Config(object): if v != ''] return value - def _read_setup_cfg(self, parser): + def _read_setup_cfg(self, parser, filename): content = {} for section in parser.sections(): content[section] = dict(parser.items(section)) @@ -182,6 +185,25 @@ class Config(object): # manifest template self.dist.extra_files = files.get('extra_files', []) + if 'resources' in content: + resources = [] + for glob, destination in content['resources'].iteritems(): + splitted_glob = glob.split(' ', 1) + if len(splitted_glob) == 1: + prefix = '' + suffix = splitted_glob[0] + else: + prefix = splitted_glob[0] + suffix = splitted_glob[1] + if destination == '<exclude>': + destination = None + resources.append((prefix, suffix, destination)) + + dir = os.path.dirname(os.path.join(os.getcwd(), filename)) + data_files = resources_dests(dir, resources) + self.dist.data_files = data_files + + def parse_config_files(self, filenames=None): if filenames is None: filenames = self.find_config_files() @@ -195,7 +217,7 @@ class Config(object): parser.read(filename) if os.path.split(filename)[-1] == 'setup.cfg': - self._read_setup_cfg(parser) + self._read_setup_cfg(parser, filename) for section in parser.sections(): if section == 'global': |
