summaryrefslogtreecommitdiff
path: root/src/distutils2/mkpkg.py
diff options
context:
space:
mode:
author?ric Araujo <merwok@netwok.org>2010-06-27 02:42:50 +0200
committer?ric Araujo <merwok@netwok.org>2010-06-27 02:42:50 +0200
commita7522208f7672cf71181d17336f6c515f5d832fe (patch)
treecfee76034736ea5a7ac14d33d53e01f807b331e1 /src/distutils2/mkpkg.py
parentc495465ba7449005a62d85ff826420b0a56c18ac (diff)
downloaddisutils2-a7522208f7672cf71181d17336f6c515f5d832fe.tar.gz
Wrap I/O operations in try/except blocks to ensure handles are closed
Diffstat (limited to 'src/distutils2/mkpkg.py')
-rwxr-xr-xsrc/distutils2/mkpkg.py77
1 files changed, 37 insertions, 40 deletions
diff --git a/src/distutils2/mkpkg.py b/src/distutils2/mkpkg.py
index 7fc3b2e..3fe82e3 100755
--- a/src/distutils2/mkpkg.py
+++ b/src/distutils2/mkpkg.py
@@ -717,14 +717,16 @@ class SetupClass(object):
def inspectFile(self, path):
fp = open(path, 'r')
- for line in [ fp.readline() for x in range(10) ]:
- m = re.match(r'^#!.*python((?P<major>\d)(\.\d+)?)?$', line)
- if m:
- if m.group('major') == '3':
- self.classifierDict['Programming Language :: Python :: 3'] = 1
- else:
- self.classifierDict['Programming Language :: Python :: 2'] = 1
- fp.close()
+ try:
+ for line in [ fp.readline() for x in range(10) ]:
+ m = re.match(r'^#!.*python((?P<major>\d)(\.\d+)?)?$', line)
+ if m:
+ if m.group('major') == '3':
+ self.classifierDict['Programming Language :: Python :: 3'] = 1
+ else:
+ self.classifierDict['Programming Language :: Python :: 2'] = 1
+ finally:
+ fp.close()
def inspectDirectory(self):
@@ -885,38 +887,33 @@ Status''', required = False)
if os.path.exists('setup.py'): shutil.move('setup.py', 'setup.py.old')
fp = open('setup.py', 'w')
- fp.write('#!/usr/bin/env python\n\n')
- fp.write('from distutils2.core import setup\n\n')
-
- fp.write('from sys import version\n')
- fp.write('if version < \'2.2.3\':\n')
- fp.write(' from distutils2.dist import DistributionMetadata\n')
- fp.write(' DistributionMetadata.classifier = None\n')
- fp.write(' DistributionMetadata.download_url = None\n')
-
- fp.write('setup(name = %s,\n' % repr(self.setupData['name']))
- fp.write(' version = %s,\n' % repr(self.setupData['version']))
- fp.write(' description = %s,\n'
- % repr(self.setupData['description']))
- fp.write(' author = %s,\n' % repr(self.setupData['author']))
- fp.write(' author_email = %s,\n'
- % repr(self.setupData['author_email']))
- if self.setupData['url']:
- fp.write(' url = %s,\n' % repr(self.setupData['url']))
- if self.setupData['classifier']:
- fp.write(' classifier = [\n')
- for classifier in sorted(self.setupData['classifier'].keys()):
- fp.write(' %s,\n' % repr(classifier))
- fp.write(' ],\n')
- if self.setupData['packages']:
- fp.write(' packages = %s,\n'
- % repr(self._dotted_packages(self.setupData['packages'])))
- fp.write(' package_dir = %s,\n'
- % repr(self.setupData['packages']))
- fp.write(' #scripts = [\'path/to/script\']\n')
-
- fp.write(' )\n')
- fp.close()
+ try:
+ fp.write('#!/usr/bin/env python\n\n')
+ fp.write('from distutils2.core import setup\n\n')
+ fp.write('setup(name=%s,\n' % repr(self.setupData['name']))
+ fp.write(' version=%s,\n' % repr(self.setupData['version']))
+ fp.write(' description=%s,\n'
+ % repr(self.setupData['description']))
+ fp.write(' author=%s,\n' % repr(self.setupData['author']))
+ fp.write(' author_email=%s,\n'
+ % repr(self.setupData['author_email']))
+ if self.setupData['url']:
+ fp.write(' url=%s,\n' % repr(self.setupData['url']))
+ if self.setupData['classifier']:
+ fp.write(' classifier=[\n')
+ for classifier in sorted(self.setupData['classifier'].keys()):
+ fp.write(' %s,\n' % repr(classifier))
+ fp.write(' ],\n')
+ if self.setupData['packages']:
+ fp.write(' packages=%s,\n'
+ % repr(self._dotted_packages(self.setupData['packages'])))
+ fp.write(' package_dir=%s,\n'
+ % repr(self.setupData['packages']))
+ fp.write(' #scripts=[\'path/to/script\']\n')
+
+ fp.write(' )\n')
+ finally:
+ fp.close()
os.chmod('setup.py', 0755)
print 'Wrote "setup.py".'