summaryrefslogtreecommitdiff
path: root/distutils2/config.py
diff options
context:
space:
mode:
authorFELD Boris <lothiraldan@gmail.com>2011-01-29 18:07:13 +0100
committerFELD Boris <lothiraldan@gmail.com>2011-01-29 18:07:13 +0100
commit0d6dc4b70ae58c77e2c8e69db80bab5902a28a0b (patch)
treedc2d8347fb602680e0866dab9ffdf82acc0028ca /distutils2/config.py
parent339a31205cf0440309600d9b38cf80cab74d0de7 (diff)
parent0ef975312695252417f90ad367614b2fdb8d1cd6 (diff)
downloaddisutils2-0d6dc4b70ae58c77e2c8e69db80bab5902a28a0b.tar.gz
Merge with main branch
Diffstat (limited to 'distutils2/config.py')
-rw-r--r--distutils2/config.py26
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':