diff options
author | Jason R. Coombs <jaraco@jaraco.com> | 2013-05-05 09:50:36 -0400 |
---|---|---|
committer | Jason R. Coombs <jaraco@jaraco.com> | 2013-05-05 09:50:36 -0400 |
commit | 92952a515bca3813de6d5e27638a8e7fcd0117a7 (patch) | |
tree | 2d2be34aec550ecde84c1825f4c9d31a51f9573b /setup.py | |
parent | b78ecd63d5c206a5cd0b065656a4493ffe496fe5 (diff) | |
download | external_python_setuptools-92952a515bca3813de6d5e27638a8e7fcd0117a7.tar.gz external_python_setuptools-92952a515bca3813de6d5e27638a8e7fcd0117a7.tar.bz2 external_python_setuptools-92952a515bca3813de6d5e27638a8e7fcd0117a7.zip |
Moved link generation routine from setup.py to release.py. The new routine requires Python 2.6 for izip_longest and chain.from_iterable, so it's not suitable for setup.py. Also, there's no reason that every installer needs to compute the links - they can be resolved in advance during the release process.
--HG--
branch : distribute
extra : rebase_source : 9f4af99f70fdfa00290be2261a921af9a76ba597
Diffstat (limited to 'setup.py')
-rwxr-xr-x | setup.py | 53 |
1 files changed, 3 insertions, 50 deletions
@@ -133,58 +133,11 @@ if _being_installed(): from distribute_setup import _before_install _before_install() -def _linkified(rst_path): - "return contents of reStructureText file with linked issue references" - rst_file = open(rst_path) - rst_content = rst_file.read() - rst_file.close() - - return _linkified_text(rst_content) - -def _linkified_text(rst_content): - # first identify any existing HREFs so they're not changed - HREF_pattern = re.compile('`.*?`_', re.MULTILINE | re.DOTALL) - - # split on the HREF pattern, returning the parts to be linkified - plain_text_parts = HREF_pattern.split(rst_content) - anchors = [] - linkified_parts = [_linkified_part(part, anchors) - for part in plain_text_parts] - pairs = itertools.izip_longest( - linkified_parts, - HREF_pattern.findall(rst_content), - fillvalue='', - ) - rst_content = ''.join(flatten(pairs)) - - anchors = sorted(anchors) - - bitroot = 'http://bitbucket.org/tarek/distribute' - rst_content += "\n" - for x in anchors: - issue = re.findall(r'\d+', x)[0] - rst_content += '.. _`%s`: %s/issue/%s\n' % (x, bitroot, issue) - rst_content += "\n" - return rst_content - -import itertools -def flatten(listOfLists): - "Flatten one level of nesting" - return itertools.chain.from_iterable(listOfLists) - - -def _linkified_part(text, anchors): - """ - Linkify a part and collect any anchors generated - """ - revision = re.compile(r'\b(issue\s+#?\d+)\b', re.M | re.I) - - anchors.extend(revision.findall(text)) # ['Issue #43', ...] - return revision.sub(r'`\1`_', text) - readme_file = open('README.txt') -long_description = readme_file.read() + _linkified('CHANGES.txt') +changes_file = open('CHANGES (links).txt') +long_description = readme_file.read() + changes_file.read() readme_file.close() +changes_file.close() dist = setup( name="distribute", |