summaryrefslogtreecommitdiff
path: root/distutils2/manifest.py
diff options
context:
space:
mode:
author?ric Araujo <merwok@netwok.org>2011-09-18 20:20:13 +0200
committer?ric Araujo <merwok@netwok.org>2011-09-18 20:20:13 +0200
commit506cfea8bbd41e865bc36a836bdbc05aae8d74bb (patch)
tree3bae418473347324060850aab8d34e162b33ecc9 /distutils2/manifest.py
parent8c928044705a70bb845cb45f76edb6eb71393866 (diff)
downloaddisutils2-506cfea8bbd41e865bc36a836bdbc05aae8d74bb.tar.gz
Fix the backport fixes.
Backports: - sysconfig is now always imported from our backports - when hashlib is not found, our backport is used instead of the md5 module (debatable; we could just drop hashlib) Version-dependent features: - PEP 370 features are only enabled for 2.6+ - the check for sys.dont_write_bytecode was fixed to use getattr with a default value instead of hasattr Idioms/syntax: - octal literals lost their extra 0 - misused try/except blocks have been changed back to try/finally (it?s legal in 2.4 too, it?s only try/except/finally that isn?t) - exception catching uses the regular 2.x idiom instead of sys.exc_info - file objects are closed within finally blocks (this causes much whitespace changes but actually makes diff with packaging easier) Renamed modules: - some missed renamings (_thread, Queue, isAlive, urllib.urlsplit, etc.) were fixed Other: - a few false positive replacements of ?packaging? by ?distutils2? in comments or docstrings were reverted - util.is_packaging regained its name - assorted whitespace/comment/import changes to match packaging
Diffstat (limited to 'distutils2/manifest.py')
-rw-r--r--distutils2/manifest.py21
1 files changed, 12 insertions, 9 deletions
diff --git a/distutils2/manifest.py b/distutils2/manifest.py
index 0bf0c72..9a8327b 100644
--- a/distutils2/manifest.py
+++ b/distutils2/manifest.py
@@ -8,13 +8,12 @@ The Manifest class can be used to:
# XXX todo: document + add tests
import re
import os
-import sys
import fnmatch
from distutils2 import logger
from distutils2.util import write_file, convert_path
from distutils2.errors import (PackagingTemplateError,
- PackagingInternalError)
+ PackagingInternalError)
__all__ = ['Manifest']
@@ -90,8 +89,8 @@ class Manifest(object):
continue
try:
self._process_template_line(line)
- except PackagingTemplateError:
- logger.warning("%s, %s", path_or_file, sys.exc_info()[1])
+ except PackagingTemplateError, msg:
+ logger.warning("%s, %s", path_or_file, msg)
def write(self, path):
"""Write the file list in 'self.filelist' (presumably as filled in
@@ -100,8 +99,10 @@ class Manifest(object):
"""
if os.path.isfile(path):
fp = open(path)
- first_line = fp.readline()
- fp.close()
+ try:
+ first_line = fp.readline()
+ finally:
+ fp.close()
if first_line != '# file GENERATED by distutils2, do NOT edit\n':
logger.info("not writing to manually maintained "
@@ -122,9 +123,11 @@ class Manifest(object):
"""
logger.info("reading manifest file %r", path)
manifest = open(path)
- for line in manifest.readlines():
- self.append(line)
- manifest.close()
+ try:
+ for line in manifest.readlines():
+ self.append(line)
+ finally:
+ manifest.close()
def exclude_pattern(self, pattern, anchor=True, prefix=None,
is_regex=False):