[Python-checkins] distutils2: making 'include' the default action
tarek.ziade
python-checkins at python.org
Sat Oct 23 23:27:23 CEST 2010
tarek.ziade pushed 1f87724dd8c5 to distutils2:
http://hg.python.org/distutils2/rev/1f87724dd8c5
changeset: 780:1f87724dd8c5
tag: tip
user: Tarek Ziade <tarek at ziade.org>
date: Sat Oct 23 23:27:11 2010 +0200
summary: making 'include' the default action
files: distutils2/manifest.py, distutils2/tests/test_manifest.py
diff --git a/distutils2/manifest.py b/distutils2/manifest.py
--- a/distutils2/manifest.py
+++ b/distutils2/manifest.py
@@ -22,7 +22,7 @@
# a \ followed by some spaces + EOL
_COLLAPSE_PATTERN = re.compile('\\\w*\n', re.M)
-_COMMENTED_LINE = re.compile('#.*?(?=\n)|^\w*\n|\n(?=$)', re.M | re.S)
+_COMMENTED_LINE = re.compile('#.*?(?=\n)|\n(?=$)', re.M | re.S)
class Manifest(object):
"""A list of files built by on exploring the filesystem and filtered by
@@ -81,7 +81,6 @@
content = f.read()
# first, let's unwrap collapsed lines
content = _COLLAPSE_PATTERN.sub('', content)
-
# next, let's remove commented lines and empty lines
content = _COMMENTED_LINE.sub('', content)
@@ -91,6 +90,8 @@
f.close()
for line in lines:
+ if line == '':
+ continue
try:
self._process_template_line(line)
except DistutilsTemplateError, msg:
@@ -156,8 +157,11 @@
def _parse_template_line(self, line):
words = line.split()
+ if len(words) == 1:
+ # no action given, let's use the default 'include'
+ words.insert(0, 'include')
+
action = words[0]
-
patterns = dir = dir_pattern = None
if action in ('include', 'exclude',
diff --git a/distutils2/tests/test_manifest.py b/distutils2/tests/test_manifest.py
--- a/distutils2/tests/test_manifest.py
+++ b/distutils2/tests/test_manifest.py
@@ -2,6 +2,7 @@
import os
import sys
import logging
+from StringIO import StringIO
from distutils2.tests import run_unittest
from distutils2.tests import unittest, support
@@ -17,6 +18,12 @@
*.dat *.txt
"""
+_MANIFEST2 = """\
+README
+file1
+"""
+
+
class ManifestTestCase(support.TempdirManager,
unittest.TestCase):
@@ -60,6 +67,19 @@
# and 3 warnings issued (we ddidn't provided the files)
self.assertEqual(len(warns), 6)
+ def test_default_actions(self):
+ tmpdir = self.mkdtemp()
+ old_dir = os.getcwd()
+ os.chdir(tmpdir)
+ try:
+ self.write_file('README', 'xxx')
+ self.write_file('file1', 'xxx')
+ content = StringIO(_MANIFEST2)
+ manifest = Manifest()
+ manifest.read_template(content)
+ self.assertEqual(manifest.files, ['README', 'file1'])
+ finally:
+ os.chdir(old_dir)
def test_suite():
return unittest.makeSuite(ManifestTestCase)
--
Repository URL: http://hg.python.org/distutils2
More information about the Python-checkins
mailing list