aboutsummaryrefslogtreecommitdiffstats
path: root/setuptools/extension.py
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2014-03-10 08:26:10 -0400
committerJason R. Coombs <jaraco@jaraco.com>2014-03-10 08:26:10 -0400
commit8dfa58696aff81a6fa7ab2d10d859610711fdb49 (patch)
treea2386268aae475bb1ffe03f51f9d243154e9ec52 /setuptools/extension.py
parentc8da4c3399dd564c24a42171e7043d43e0b01659 (diff)
downloadexternal_python_setuptools-8dfa58696aff81a6fa7ab2d10d859610711fdb49.tar.gz
external_python_setuptools-8dfa58696aff81a6fa7ab2d10d859610711fdb49.tar.bz2
external_python_setuptools-8dfa58696aff81a6fa7ab2d10d859610711fdb49.zip
Use functools.partial and re.sub to construct the substitution function.
Diffstat (limited to 'setuptools/extension.py')
-rw-r--r--setuptools/extension.py13
1 files changed, 6 insertions, 7 deletions
diff --git a/setuptools/extension.py b/setuptools/extension.py
index d8516092..ab5908da 100644
--- a/setuptools/extension.py
+++ b/setuptools/extension.py
@@ -1,4 +1,6 @@
import sys
+import re
+import functools
import distutils.core
import distutils.extension
@@ -37,13 +39,10 @@ class Extension(_Extension):
if have_pyrex():
# the build has Cython, so allow it to compile the .pyx files
return
- def pyx_to_target(source):
- lang = self.language or ''
- target_ext = '.cpp' if lang.lower() == 'c++' else '.c'
- if source.endswith('.pyx'):
- source = source[:-4] + target_ext
- return source
- self.sources = list(map(pyx_to_target, self.sources))
+ lang = self.language or ''
+ target_ext = '.cpp' if lang.lower() == 'c++' else '.c'
+ sub = functools.partial(re.sub, '.pyx$', target_ext)
+ self.sources = list(map(sub, self.sources))
class Library(Extension):
"""Just like a regular Extension, but built as a library instead"""