Fix some ResourceWarnings.

--HG--
branch : distribute
extra : rebase_source : 31ac3f0135d8cfe0fabc274f1649d1c99eba2868
parent 5f6ebc05
...@@ -239,7 +239,9 @@ def _no_sandbox(function): ...@@ -239,7 +239,9 @@ def _no_sandbox(function):
def _patch_file(path, content): def _patch_file(path, content):
"""Will backup the file then patch it""" """Will backup the file then patch it"""
existing_content = open(path).read() f = open(path)
existing_content = f.read()
f.close()
if existing_content == content: if existing_content == content:
# already patched # already patched
log.warn('Already patched.') log.warn('Already patched.')
...@@ -257,7 +259,10 @@ _patch_file = _no_sandbox(_patch_file) ...@@ -257,7 +259,10 @@ _patch_file = _no_sandbox(_patch_file)
def _same_content(path, content): def _same_content(path, content):
return open(path).read() == content f = open(path)
existing_content = f.read()
f.close()
return existing_content == content
def _rename_path(path): def _rename_path(path):
......
...@@ -132,7 +132,9 @@ class develop(easy_install): ...@@ -132,7 +132,9 @@ class develop(easy_install):
def uninstall_link(self): def uninstall_link(self):
if os.path.exists(self.egg_link): if os.path.exists(self.egg_link):
log.info("Removing %s (link to %s)", self.egg_link, self.egg_base) log.info("Removing %s (link to %s)", self.egg_link, self.egg_base)
contents = [line.rstrip() for line in open(self.egg_link)] egg_link_file = open(self.egg_link)
contents = [line.rstrip() for line in egg_link_file]
egg_link_file.close()
if contents not in ([self.egg_path], [self.egg_path, self.setup_path]): if contents not in ([self.egg_path], [self.egg_path, self.setup_path]):
log.warn("Link points to %s: uninstall aborted", contents) log.warn("Link points to %s: uninstall aborted", contents)
return return
......
...@@ -491,7 +491,7 @@ Please make the appropriate changes for your system and try again. ...@@ -491,7 +491,7 @@ Please make the appropriate changes for your system and try again.
self.cant_write_to_target() self.cant_write_to_target()
else: else:
try: try:
f.write("import os;open(%r,'w').write('OK')\n" % (ok_file,)) f.write("import os; f = open(%r, 'w'); f.write('OK'); f.close()\n" % (ok_file,))
f.close(); f=None f.close(); f=None
executable = sys.executable executable = sys.executable
if os.name=='nt': if os.name=='nt':
......
...@@ -109,8 +109,9 @@ class upload(Command): ...@@ -109,8 +109,9 @@ class upload(Command):
data['comment'] = comment data['comment'] = comment
if self.sign: if self.sign:
data['gpg_signature'] = (os.path.basename(filename) + ".asc", asc_file = open(filename + ".asc")
open(filename+".asc").read()) data['gpg_signature'] = (os.path.basename(filename) + ".asc", asc_file.read())
asc_file.close()
# set up the authentication # set up the authentication
auth = "Basic " + base64.encodestring(self.username + ":" + self.password).strip() auth = "Basic " + base64.encodestring(self.username + ":" + self.password).strip()
......
...@@ -105,7 +105,9 @@ class upload_docs(upload): ...@@ -105,7 +105,9 @@ class upload_docs(upload):
shutil.rmtree(tmp_dir) shutil.rmtree(tmp_dir)
def upload_file(self, filename): def upload_file(self, filename):
content = open(filename, 'rb').read() f = open(filename, 'rb')
content = f.read()
f.close()
meta = self.distribution.metadata meta = self.distribution.metadata
data = { data = {
':action': 'doc_upload', ':action': 'doc_upload',
......
...@@ -1968,7 +1968,9 @@ def testfile(filename, module_relative=True, name=None, package=None, ...@@ -1968,7 +1968,9 @@ def testfile(filename, module_relative=True, name=None, package=None,
runner = DocTestRunner(verbose=verbose, optionflags=optionflags) runner = DocTestRunner(verbose=verbose, optionflags=optionflags)
# Read the file, convert it to a test, and run it. # Read the file, convert it to a test, and run it.
s = open(filename).read() f = open(filename)
s = f.read()
f.close()
test = parser.get_doctest(s, globs, name, filename, 0) test = parser.get_doctest(s, globs, name, filename, 0)
runner.run(test) runner.run(test)
...@@ -2353,7 +2355,9 @@ def DocFileTest(path, module_relative=True, package=None, ...@@ -2353,7 +2355,9 @@ def DocFileTest(path, module_relative=True, package=None,
# Find the file and read it. # Find the file and read it.
name = os.path.basename(path) name = os.path.basename(path)
doc = open(path).read() f = open(path)
doc = f.read()
f.close()
# Convert it to a test, and wrap it in a DocFileCase. # Convert it to a test, and wrap it in a DocFileCase.
test = parser.get_doctest(doc, globs, name, path, 0) test = parser.get_doctest(doc, globs, name, path, 0)
......
...@@ -89,8 +89,12 @@ class TestDevelopTest(unittest.TestCase): ...@@ -89,8 +89,12 @@ class TestDevelopTest(unittest.TestCase):
self.assertEqual(content, ['easy-install.pth', 'foo.egg-link']) self.assertEqual(content, ['easy-install.pth', 'foo.egg-link'])
# Check that we are using the right code. # Check that we are using the right code.
path = open(os.path.join(site.USER_SITE, 'foo.egg-link'), 'rt').read().split()[0].strip() egg_link_file = open(os.path.join(site.USER_SITE, 'foo.egg-link'), 'rt')
init = open(os.path.join(path, 'foo', '__init__.py'), 'rt').read().strip() path = egg_link_file.read().split()[0].strip()
egg_link_file.close()
init_file = open(os.path.join(path, 'foo', '__init__.py'), 'rt')
init = init_file.read().strip()
init_file.close()
if sys.version < "3": if sys.version < "3":
self.assertEqual(init, 'print "foo"') self.assertEqual(init, 'print "foo"')
else: else:
......
...@@ -16,7 +16,8 @@ Let's create a simple script, foo-script.py: ...@@ -16,7 +16,8 @@ Let's create a simple script, foo-script.py:
>>> import os, sys, tempfile >>> import os, sys, tempfile
>>> from setuptools.command.easy_install import nt_quote_arg >>> from setuptools.command.easy_install import nt_quote_arg
>>> sample_directory = tempfile.mkdtemp() >>> sample_directory = tempfile.mkdtemp()
>>> open(os.path.join(sample_directory, 'foo-script.py'), 'w').write( >>> f = open(os.path.join(sample_directory, 'foo-script.py'), 'w')
>>> f.write(
... """#!%(python_exe)s ... """#!%(python_exe)s
... import sys ... import sys
... input = repr(sys.stdin.read()) ... input = repr(sys.stdin.read())
...@@ -26,6 +27,7 @@ Let's create a simple script, foo-script.py: ...@@ -26,6 +27,7 @@ Let's create a simple script, foo-script.py:
... if __debug__: ... if __debug__:
... print 'non-optimized' ... print 'non-optimized'
... """ % dict(python_exe=nt_quote_arg(sys.executable))) ... """ % dict(python_exe=nt_quote_arg(sys.executable)))
>>> f.close()
Note that the script starts with a Unix-style '#!' line saying which Note that the script starts with a Unix-style '#!' line saying which
Python executable to run. The wrapper will use this to find the Python executable to run. The wrapper will use this to find the
...@@ -34,9 +36,11 @@ correct Python executable. ...@@ -34,9 +36,11 @@ correct Python executable.
We'll also copy cli.exe to the sample-directory with the name foo.exe: We'll also copy cli.exe to the sample-directory with the name foo.exe:
>>> import pkg_resources >>> import pkg_resources
>>> open(os.path.join(sample_directory, 'foo.exe'), 'wb').write( >>> f = open(os.path.join(sample_directory, 'foo.exe'), 'wb')
>>> f.write(
... pkg_resources.resource_string('setuptools', 'cli.exe') ... pkg_resources.resource_string('setuptools', 'cli.exe')
... ) ... )
>>> f.close()
When the copy of cli.exe, foo.exe in this example, runs, it examines When the copy of cli.exe, foo.exe in this example, runs, it examines
the path name it was run with and computes a Python script path name the path name it was run with and computes a Python script path name
...@@ -77,7 +81,8 @@ to start the interactive interpreter. You can combine multiple ...@@ -77,7 +81,8 @@ to start the interactive interpreter. You can combine multiple
options as usual. For example, to run in optimized mode and options as usual. For example, to run in optimized mode and
enter the interpreter after running the script, you could use -Oi: enter the interpreter after running the script, you could use -Oi:
>>> open(os.path.join(sample_directory, 'foo-script.py'), 'w').write( >>> f = open(os.path.join(sample_directory, 'foo-script.py'), 'w')
>>> f.write(
... """#!%(python_exe)s -Oi ... """#!%(python_exe)s -Oi
... import sys ... import sys
... input = repr(sys.stdin.read()) ... input = repr(sys.stdin.read())
...@@ -88,6 +93,7 @@ enter the interpreter after running the script, you could use -Oi: ...@@ -88,6 +93,7 @@ enter the interpreter after running the script, you could use -Oi:
... print 'non-optimized' ... print 'non-optimized'
... sys.ps1 = '---' ... sys.ps1 = '---'
... """ % dict(python_exe=nt_quote_arg(sys.executable))) ... """ % dict(python_exe=nt_quote_arg(sys.executable)))
>>> f.close()
>>> input, output = os.popen4(nt_quote_arg(os.path.join(sample_directory, 'foo.exe'))) >>> input, output = os.popen4(nt_quote_arg(os.path.join(sample_directory, 'foo.exe')))
>>> input.close() >>> input.close()
...@@ -105,18 +111,24 @@ Now let's test the GUI version with the simple scipt, bar-script.py: ...@@ -105,18 +111,24 @@ Now let's test the GUI version with the simple scipt, bar-script.py:
>>> import os, sys, tempfile >>> import os, sys, tempfile
>>> from setuptools.command.easy_install import nt_quote_arg >>> from setuptools.command.easy_install import nt_quote_arg
>>> sample_directory = tempfile.mkdtemp() >>> sample_directory = tempfile.mkdtemp()
>>> open(os.path.join(sample_directory, 'bar-script.pyw'), 'w').write( >>> f = open(os.path.join(sample_directory, 'bar-script.pyw'), 'w')
>>> f.write(
... """#!%(python_exe)s ... """#!%(python_exe)s
... import sys ... import sys
... open(sys.argv[1], 'wb').write(repr(sys.argv[2])) ... f = open(sys.argv[1], 'wb')
... f.write(repr(sys.argv[2]))
... f.close()
... """ % dict(python_exe=nt_quote_arg(sys.executable))) ... """ % dict(python_exe=nt_quote_arg(sys.executable)))
>>> f.close()
We'll also copy gui.exe to the sample-directory with the name bar.exe: We'll also copy gui.exe to the sample-directory with the name bar.exe:
>>> import pkg_resources >>> import pkg_resources
>>> open(os.path.join(sample_directory, 'bar.exe'), 'wb').write( >>> f = open(os.path.join(sample_directory, 'bar.exe'), 'wb')
>>> f.write(
... pkg_resources.resource_string('setuptools', 'gui.exe') ... pkg_resources.resource_string('setuptools', 'gui.exe')
... ) ... )
>>> f.close()
Finally, we'll run the script and check the result: Finally, we'll run the script and check the result:
...@@ -126,8 +138,10 @@ Finally, we'll run the script and check the result: ...@@ -126,8 +138,10 @@ Finally, we'll run the script and check the result:
>>> input.close() >>> input.close()
>>> print output.read() >>> print output.read()
<BLANKLINE> <BLANKLINE>
>>> print open(os.path.join(sample_directory, 'test_output.txt'), 'rb').read() >>> f = open(os.path.join(sample_directory, 'test_output.txt'), 'rb')
>>> print f.read()
'Test Argument' 'Test Argument'
>>> f.close()
We're done with the sample_directory: We're done with the sample_directory:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment