Whitespace normalization.

This commit is contained in:
Tim Peters 2007-03-12 18:07:52 +00:00
parent cb637c9ea3
commit ea5962f86e
18 changed files with 522 additions and 522 deletions

View file

@ -328,8 +328,8 @@ class TCPServer(BaseServer):
self.socket = socket.socket(self.address_family, self.socket = socket.socket(self.address_family,
self.socket_type) self.socket_type)
if bind_and_activate: if bind_and_activate:
self.server_bind() self.server_bind()
self.server_activate() self.server_activate()
def server_bind(self): def server_bind(self):
"""Called by constructor to bind the socket. """Called by constructor to bind the socket.

View file

@ -84,7 +84,7 @@ def commonprefix(m):
# Generic implementation of splitext, to be parametrized with # Generic implementation of splitext, to be parametrized with
# the separators # the separators
def _splitext(p, sep, altsep, extsep): def _splitext(p, sep, altsep, extsep):
"""Split the extension from a pathname. """Split the extension from a pathname.
Extension is everything from the last dot to the end, ignoring Extension is everything from the last dot to the end, ignoring
leading dots. Returns "(root, ext)"; ext may be empty.""" leading dots. Returns "(root, ext)"; ext may be empty."""

View file

@ -766,7 +766,7 @@ class LMTP(SMTP):
authentication, but your mileage might vary.""" authentication, but your mileage might vary."""
ehlo_msg = "lhlo" ehlo_msg = "lhlo"
def __init__(self, host = '', port = LMTP_PORT, local_hostname = None): def __init__(self, host = '', port = LMTP_PORT, local_hostname = None):
"""Initialize a new instance.""" """Initialize a new instance."""
SMTP.__init__(self, host, port, local_hostname) SMTP.__init__(self, host, port, local_hostname)

View file

@ -596,7 +596,7 @@ class Popen(object):
# either have to redirect all three or none. If the subprocess # either have to redirect all three or none. If the subprocess
# user has only redirected one or two handles, we are # user has only redirected one or two handles, we are
# automatically creating PIPEs for the rest. We should close # automatically creating PIPEs for the rest. We should close
# these after the process is started. See bug #1124861. # these after the process is started. See bug #1124861.
if mswindows: if mswindows:
if stdin is None and p2cwrite is not None: if stdin is None and p2cwrite is not None:
os.close(p2cwrite) os.close(p2cwrite)

View file

@ -245,7 +245,7 @@ def test_resize_term(stdscr):
if hasattr(curses, 'resizeterm'): if hasattr(curses, 'resizeterm'):
lines, cols = curses.LINES, curses.COLS lines, cols = curses.LINES, curses.COLS
curses.resizeterm(lines - 1, cols + 1) curses.resizeterm(lines - 1, cols + 1)
if curses.LINES != lines - 1 or curses.COLS != cols + 1: if curses.LINES != lines - 1 or curses.COLS != cols + 1:
raise RuntimeError, "Expected resizeterm to update LINES and COLS" raise RuntimeError, "Expected resizeterm to update LINES and COLS"

View file

@ -1466,7 +1466,7 @@ def errors():
>>> class A(object): >>> class A(object):
... pass ... pass
>>> class B(A, type): >>> class B(A, type):
... pass ... pass
Traceback (most recent call last): Traceback (most recent call last):
@ -1494,7 +1494,7 @@ def errors():
... pass ... pass
Also check that assignment to bases is safe. Also check that assignment to bases is safe.
>>> B.__bases__ = A1, A2 >>> B.__bases__ = A1, A2
Traceback (most recent call last): Traceback (most recent call last):
TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases

View file

@ -461,12 +461,12 @@ class DictTest(unittest.TestCase):
self.assertEqual(e.args, ((1,),)) self.assertEqual(e.args, ((1,),))
else: else:
self.fail("missing KeyError") self.fail("missing KeyError")
def test_bad_key(self): def test_bad_key(self):
# Dictionary lookups should fail if __cmp__() raises an exception. # Dictionary lookups should fail if __cmp__() raises an exception.
class CustomException(Exception): class CustomException(Exception):
pass pass
class BadDictKey: class BadDictKey:
def __hash__(self): def __hash__(self):
return hash(self.__class__) return hash(self.__class__)
@ -475,7 +475,7 @@ class DictTest(unittest.TestCase):
if isinstance(other, self.__class__): if isinstance(other, self.__class__):
raise CustomException raise CustomException
return other return other
d = {} d = {}
x1 = BadDictKey() x1 = BadDictKey()
x2 = BadDictKey() x2 = BadDictKey()
@ -502,7 +502,7 @@ class DictTest(unittest.TestCase):
# a mix of inserts and deletes hitting exactly the right hash codes in # a mix of inserts and deletes hitting exactly the right hash codes in
# exactly the right order, and I can't think of a randomized approach # exactly the right order, and I can't think of a randomized approach
# that would be *likely* to hit a failing case in reasonable time. # that would be *likely* to hit a failing case in reasonable time.
d = {} d = {}
for i in range(5): for i in range(5):
d[i] = i d[i] = i
@ -514,7 +514,7 @@ class DictTest(unittest.TestCase):
def test_resize2(self): def test_resize2(self):
# Another dict resizing bug (SF bug #1456209). # Another dict resizing bug (SF bug #1456209).
# This caused Segmentation faults or Illegal instructions. # This caused Segmentation faults or Illegal instructions.
class X(object): class X(object):
def __hash__(self): def __hash__(self):
return 5 return 5

View file

@ -192,11 +192,11 @@ class ImportTest(unittest.TestCase):
remove_files(TESTFN) remove_files(TESTFN)
if TESTFN in sys.modules: if TESTFN in sys.modules:
del sys.modules[TESTFN] del sys.modules[TESTFN]
def test_infinite_reload(self): def test_infinite_reload(self):
# Bug #742342 reports that Python segfaults (infinite recursion in C) # Bug #742342 reports that Python segfaults (infinite recursion in C)
# when faced with self-recursive reload()ing. # when faced with self-recursive reload()ing.
sys.path.insert(0, os.path.dirname(__file__)) sys.path.insert(0, os.path.dirname(__file__))
try: try:
import infinite_reload import infinite_reload

View file

@ -211,20 +211,20 @@ class TestBasicOps(unittest.TestCase):
self.assertEqual(list(izip_longest(*args, **{})), target) self.assertEqual(list(izip_longest(*args, **{})), target)
target = [tuple((e is None and 'X' or e) for e in t) for t in target] # Replace None fills with 'X' target = [tuple((e is None and 'X' or e) for e in t) for t in target] # Replace None fills with 'X'
self.assertEqual(list(izip_longest(*args, **dict(fillvalue='X'))), target) self.assertEqual(list(izip_longest(*args, **dict(fillvalue='X'))), target)
self.assertEqual(take(3,izip_longest('abcdef', count())), zip('abcdef', range(3))) # take 3 from infinite input self.assertEqual(take(3,izip_longest('abcdef', count())), zip('abcdef', range(3))) # take 3 from infinite input
self.assertEqual(list(izip_longest()), zip()) self.assertEqual(list(izip_longest()), zip())
self.assertEqual(list(izip_longest([])), zip([])) self.assertEqual(list(izip_longest([])), zip([]))
self.assertEqual(list(izip_longest('abcdef')), zip('abcdef')) self.assertEqual(list(izip_longest('abcdef')), zip('abcdef'))
self.assertEqual(list(izip_longest('abc', 'defg', **{})), map(None, 'abc', 'defg')) # empty keyword dict self.assertEqual(list(izip_longest('abc', 'defg', **{})), map(None, 'abc', 'defg')) # empty keyword dict
self.assertRaises(TypeError, izip_longest, 3) self.assertRaises(TypeError, izip_longest, 3)
self.assertRaises(TypeError, izip_longest, range(3), 3) self.assertRaises(TypeError, izip_longest, range(3), 3)
for stmt in [ for stmt in [
"izip_longest('abc', fv=1)", "izip_longest('abc', fv=1)",
"izip_longest('abc', fillvalue=1, bogus_keyword=None)", "izip_longest('abc', fillvalue=1, bogus_keyword=None)",
]: ]:
try: try:
eval(stmt, globals(), locals()) eval(stmt, globals(), locals())
@ -232,7 +232,7 @@ class TestBasicOps(unittest.TestCase):
pass pass
else: else:
self.fail('Did not raise Type in: ' + stmt) self.fail('Did not raise Type in: ' + stmt)
# Check tuple re-use (implementation detail) # Check tuple re-use (implementation detail)
self.assertEqual([tuple(list(pair)) for pair in izip_longest('abc', 'def')], self.assertEqual([tuple(list(pair)) for pair in izip_longest('abc', 'def')],
zip('abc', 'def')) zip('abc', 'def'))

View file

@ -24,7 +24,7 @@ class PosixPathTest(unittest.TestCase):
for suffix in ["", "1", "2"]: for suffix in ["", "1", "2"]:
test_support.unlink(test_support.TESTFN + suffix) test_support.unlink(test_support.TESTFN + suffix)
safe_rmdir(test_support.TESTFN + suffix) safe_rmdir(test_support.TESTFN + suffix)
def assertIs(self, a, b): def assertIs(self, a, b):
self.assert_(a is b) self.assert_(a is b)
@ -161,7 +161,7 @@ class PosixPathTest(unittest.TestCase):
if not f.closed: if not f.closed:
f.close() f.close()
def test_islink(self): def test_islink(self):
self.assertIs(posixpath.islink(test_support.TESTFN + "1"), False) self.assertIs(posixpath.islink(test_support.TESTFN + "1"), False)
f = open(test_support.TESTFN + "1", "wb") f = open(test_support.TESTFN + "1", "wb")
try: try:

View file

@ -41,19 +41,19 @@ def normalize_output(data):
# because pty code is not too portable. # because pty code is not too portable.
class PtyTest(unittest.TestCase): class PtyTest(unittest.TestCase):
def setUp(self): def setUp(self):
# isatty() and close() can hang on some platforms. Set an alarm # isatty() and close() can hang on some platforms. Set an alarm
# before running the test to make sure we don't hang forever. # before running the test to make sure we don't hang forever.
self.old_alarm = signal.signal(signal.SIGALRM, self.handle_sig) self.old_alarm = signal.signal(signal.SIGALRM, self.handle_sig)
signal.alarm(10) signal.alarm(10)
def tearDown(self): def tearDown(self):
# remove alarm, restore old alarm handler # remove alarm, restore old alarm handler
signal.alarm(0) signal.alarm(0)
signal.signal(signal.SIGALRM, self.old_alarm) signal.signal(signal.SIGALRM, self.old_alarm)
def handle_sig(self, sig, frame): def handle_sig(self, sig, frame):
self.fail("isatty hung") self.fail("isatty hung")
def test_basic(self): def test_basic(self):
try: try:
debug("Calling master_open()") debug("Calling master_open()")
@ -68,19 +68,19 @@ class PtyTest(unittest.TestCase):
raise TestSkipped, "Pseudo-terminals (seemingly) not functional." raise TestSkipped, "Pseudo-terminals (seemingly) not functional."
self.assertTrue(os.isatty(slave_fd), 'slave_fd is not a tty') self.assertTrue(os.isatty(slave_fd), 'slave_fd is not a tty')
debug("Writing to slave_fd") debug("Writing to slave_fd")
os.write(slave_fd, TEST_STRING_1) os.write(slave_fd, TEST_STRING_1)
s1 = os.read(master_fd, 1024) s1 = os.read(master_fd, 1024)
self.assertEquals('I wish to buy a fish license.\n', self.assertEquals('I wish to buy a fish license.\n',
normalize_output(s1)) normalize_output(s1))
debug("Writing chunked output") debug("Writing chunked output")
os.write(slave_fd, TEST_STRING_2[:5]) os.write(slave_fd, TEST_STRING_2[:5])
os.write(slave_fd, TEST_STRING_2[5:]) os.write(slave_fd, TEST_STRING_2[5:])
s2 = os.read(master_fd, 1024) s2 = os.read(master_fd, 1024)
self.assertEquals('For my pet fish, Eric.\n', normalize_output(s2)) self.assertEquals('For my pet fish, Eric.\n', normalize_output(s2))
os.close(slave_fd) os.close(slave_fd)
os.close(master_fd) os.close(master_fd)
@ -93,7 +93,7 @@ class PtyTest(unittest.TestCase):
if not os.isatty(1): if not os.isatty(1):
debug("Child's fd 1 is not a tty?!") debug("Child's fd 1 is not a tty?!")
os._exit(3) os._exit(3)
# After pty.fork(), the child should already be a session leader. # After pty.fork(), the child should already be a session leader.
# (on those systems that have that concept.) # (on those systems that have that concept.)
debug("In child, calling os.setsid()") debug("In child, calling os.setsid()")
@ -125,7 +125,7 @@ class PtyTest(unittest.TestCase):
##if False and lines != ['In child, calling os.setsid()', ##if False and lines != ['In child, calling os.setsid()',
## 'Good: OSError was raised.', '']: ## 'Good: OSError was raised.', '']:
## raise TestFailed("Unexpected output from child: %r" % line) ## raise TestFailed("Unexpected output from child: %r" % line)
(pid, status) = os.waitpid(pid, 0) (pid, status) = os.waitpid(pid, 0)
res = status >> 8 res = status >> 8
debug("Child (%d) exited with status %d (%d)." % (pid, res, status)) debug("Child (%d) exited with status %d (%d)." % (pid, res, status))
@ -137,7 +137,7 @@ class PtyTest(unittest.TestCase):
self.fail("Child spawned by pty.fork() did not have a tty as stdout") self.fail("Child spawned by pty.fork() did not have a tty as stdout")
elif res != 4: elif res != 4:
self.fail("pty.fork() failed for unknown reasons.") self.fail("pty.fork() failed for unknown reasons.")
##debug("Reading from master_fd now that the child has exited") ##debug("Reading from master_fd now that the child has exited")
##try: ##try:
## s1 = os.read(master_fd, 1024) ## s1 = os.read(master_fd, 1024)
@ -145,9 +145,9 @@ class PtyTest(unittest.TestCase):
## pass ## pass
##else: ##else:
## raise TestFailed("Read from master_fd did not raise exception") ## raise TestFailed("Read from master_fd did not raise exception")
os.close(master_fd) os.close(master_fd)
# pty.fork() passed. # pty.fork() passed.
def test_main(verbose=None): def test_main(verbose=None):

View file

@ -252,7 +252,7 @@ def test_1463026_3():
gen.endDocument() gen.endDocument()
return result.getvalue() == start+'<my:a xmlns:my="qux" b="c"></my:a>' return result.getvalue() == start+'<my:a xmlns:my="qux" b="c"></my:a>'
# ===== Xmlfilterbase # ===== Xmlfilterbase
def test_filter_basic(): def test_filter_basic():

View file

@ -285,10 +285,10 @@ class TestJointOps(unittest.TestCase):
s = self.thetype(d) s = self.thetype(d)
self.assertEqual(sum(elem.hash_count for elem in d), n) self.assertEqual(sum(elem.hash_count for elem in d), n)
s.difference(d) s.difference(d)
self.assertEqual(sum(elem.hash_count for elem in d), n) self.assertEqual(sum(elem.hash_count for elem in d), n)
if hasattr(s, 'symmetric_difference_update'): if hasattr(s, 'symmetric_difference_update'):
s.symmetric_difference_update(d) s.symmetric_difference_update(d)
self.assertEqual(sum(elem.hash_count for elem in d), n) self.assertEqual(sum(elem.hash_count for elem in d), n)
class TestSet(TestJointOps): class TestSet(TestJointOps):
thetype = set thetype = set

View file

@ -49,14 +49,14 @@ class ThreadedTempFileTest(unittest.TestCase):
def test_main(self): def test_main(self):
threads = [] threads = []
thread_info = threading_setup() thread_info = threading_setup()
for i in range(NUM_THREADS): for i in range(NUM_THREADS):
t = TempFileGreedy() t = TempFileGreedy()
threads.append(t) threads.append(t)
t.start() t.start()
startEvent.set() startEvent.set()
ok = 0 ok = 0
errors = [] errors = []
for t in threads: for t in threads:
@ -66,8 +66,8 @@ class ThreadedTempFileTest(unittest.TestCase):
errors.append(str(t.getName()) + str(t.errors.getvalue())) errors.append(str(t.getName()) + str(t.errors.getvalue()))
threading_cleanup(*thread_info) threading_cleanup(*thread_info)
msg = "Errors: errors %d ok %d\n%s" % (len(errors), ok, msg = "Errors: errors %d ok %d\n%s" % (len(errors), ok,
'\n'.join(errors)) '\n'.join(errors))
self.assertEquals(errors, [], msg) self.assertEquals(errors, [], msg)
self.assertEquals(ok, NUM_THREADS * FILES_PER_THREAD) self.assertEquals(ok, NUM_THREADS * FILES_PER_THREAD)

File diff suppressed because it is too large Load diff

View file

@ -117,12 +117,12 @@ class TestsWithSourceFile(unittest.TestCase):
if not read_data: if not read_data:
break break
zipdata2.append(read_data) zipdata2.append(read_data)
self.assertEqual(''.join(zipdata1), self.data) self.assertEqual(''.join(zipdata1), self.data)
self.assertEqual(''.join(zipdata2), self.data) self.assertEqual(''.join(zipdata2), self.data)
zipfp.close() zipfp.close()
def testOpenStored(self): def testOpenStored(self):
for f in (TESTFN2, TemporaryFile(), StringIO()): for f in (TESTFN2, TemporaryFile(), StringIO()):
self.zipOpenTest(f, zipfile.ZIP_STORED) self.zipOpenTest(f, zipfile.ZIP_STORED)
@ -141,11 +141,11 @@ class TestsWithSourceFile(unittest.TestCase):
self.assertEqual(''.join(zipdata1), self.data) self.assertEqual(''.join(zipdata1), self.data)
zipfp.close() zipfp.close()
def testRandomOpenStored(self): def testRandomOpenStored(self):
for f in (TESTFN2, TemporaryFile(), StringIO()): for f in (TESTFN2, TemporaryFile(), StringIO()):
self.zipRandomOpenTest(f, zipfile.ZIP_STORED) self.zipRandomOpenTest(f, zipfile.ZIP_STORED)
def zipReadlineTest(self, f, compression): def zipReadlineTest(self, f, compression):
self.makeTestArchive(f, compression) self.makeTestArchive(f, compression)
@ -178,16 +178,16 @@ class TestsWithSourceFile(unittest.TestCase):
self.assertEqual(zipline, line + '\n') self.assertEqual(zipline, line + '\n')
zipfp.close() zipfp.close()
def testReadlineStored(self): def testReadlineStored(self):
for f in (TESTFN2, TemporaryFile(), StringIO()): for f in (TESTFN2, TemporaryFile(), StringIO()):
self.zipReadlineTest(f, zipfile.ZIP_STORED) self.zipReadlineTest(f, zipfile.ZIP_STORED)
def testReadlinesStored(self): def testReadlinesStored(self):
for f in (TESTFN2, TemporaryFile(), StringIO()): for f in (TESTFN2, TemporaryFile(), StringIO()):
self.zipReadlinesTest(f, zipfile.ZIP_STORED) self.zipReadlinesTest(f, zipfile.ZIP_STORED)
def testIterlinesStored(self): def testIterlinesStored(self):
for f in (TESTFN2, TemporaryFile(), StringIO()): for f in (TESTFN2, TemporaryFile(), StringIO()):
self.zipIterlinesTest(f, zipfile.ZIP_STORED) self.zipIterlinesTest(f, zipfile.ZIP_STORED)
@ -204,18 +204,18 @@ class TestsWithSourceFile(unittest.TestCase):
for f in (TESTFN2, TemporaryFile(), StringIO()): for f in (TESTFN2, TemporaryFile(), StringIO()):
self.zipRandomOpenTest(f, zipfile.ZIP_DEFLATED) self.zipRandomOpenTest(f, zipfile.ZIP_DEFLATED)
def testReadlineDeflated(self): def testReadlineDeflated(self):
for f in (TESTFN2, TemporaryFile(), StringIO()): for f in (TESTFN2, TemporaryFile(), StringIO()):
self.zipReadlineTest(f, zipfile.ZIP_DEFLATED) self.zipReadlineTest(f, zipfile.ZIP_DEFLATED)
def testReadlinesDeflated(self): def testReadlinesDeflated(self):
for f in (TESTFN2, TemporaryFile(), StringIO()): for f in (TESTFN2, TemporaryFile(), StringIO()):
self.zipReadlinesTest(f, zipfile.ZIP_DEFLATED) self.zipReadlinesTest(f, zipfile.ZIP_DEFLATED)
def testIterlinesDeflated(self): def testIterlinesDeflated(self):
for f in (TESTFN2, TemporaryFile(), StringIO()): for f in (TESTFN2, TemporaryFile(), StringIO()):
self.zipIterlinesTest(f, zipfile.ZIP_DEFLATED) self.zipIterlinesTest(f, zipfile.ZIP_DEFLATED)
def testLowCompression(self): def testLowCompression(self):
# Checks for cases where compressed data is larger than original # Checks for cases where compressed data is larger than original
# Create the ZIP archive # Create the ZIP archive
@ -437,10 +437,10 @@ class OtherTests(unittest.TestCase):
def testCreateNonExistentFileForAppend(self): def testCreateNonExistentFileForAppend(self):
if os.path.exists(TESTFN): if os.path.exists(TESTFN):
os.unlink(TESTFN) os.unlink(TESTFN)
filename = 'testfile.txt' filename = 'testfile.txt'
content = 'hello, world. this is some content.' content = 'hello, world. this is some content.'
try: try:
zf = zipfile.ZipFile(TESTFN, 'a') zf = zipfile.ZipFile(TESTFN, 'a')
zf.writestr(filename, content) zf.writestr(filename, content)
@ -453,9 +453,9 @@ class OtherTests(unittest.TestCase):
zf = zipfile.ZipFile(TESTFN, 'r') zf = zipfile.ZipFile(TESTFN, 'r')
self.assertEqual(zf.read(filename), content) self.assertEqual(zf.read(filename), content)
zf.close() zf.close()
os.unlink(TESTFN) os.unlink(TESTFN)
def testCloseErroneousFile(self): def testCloseErroneousFile(self):
# This test checks that the ZipFile constructor closes the file object # This test checks that the ZipFile constructor closes the file object
# it opens if there's an error in the file. If it doesn't, the traceback # it opens if there's an error in the file. If it doesn't, the traceback
@ -472,24 +472,24 @@ class OtherTests(unittest.TestCase):
os.unlink(TESTFN) os.unlink(TESTFN)
def testIsZipErroneousFile(self): def testIsZipErroneousFile(self):
# This test checks that the is_zipfile function correctly identifies # This test checks that the is_zipfile function correctly identifies
# a file that is not a zip file # a file that is not a zip file
fp = open(TESTFN, "w") fp = open(TESTFN, "w")
fp.write("this is not a legal zip file\n") fp.write("this is not a legal zip file\n")
fp.close() fp.close()
chk = zipfile.is_zipfile(TESTFN) chk = zipfile.is_zipfile(TESTFN)
os.unlink(TESTFN) os.unlink(TESTFN)
self.assert_(chk is False) self.assert_(chk is False)
def testIsZipValidFile(self): def testIsZipValidFile(self):
# This test checks that the is_zipfile function correctly identifies # This test checks that the is_zipfile function correctly identifies
# a file that is a zip file # a file that is a zip file
zipf = zipfile.ZipFile(TESTFN, mode="w") zipf = zipfile.ZipFile(TESTFN, mode="w")
zipf.writestr("foo.txt", "O, for a Muse of Fire!") zipf.writestr("foo.txt", "O, for a Muse of Fire!")
zipf.close() zipf.close()
chk = zipfile.is_zipfile(TESTFN) chk = zipfile.is_zipfile(TESTFN)
os.unlink(TESTFN) os.unlink(TESTFN)
self.assert_(chk is True) self.assert_(chk is True)
def testNonExistentFileRaisesIOError(self): def testNonExistentFileRaisesIOError(self):
# make sure we don't raise an AttributeError when a partially-constructed # make sure we don't raise an AttributeError when a partially-constructed
@ -552,7 +552,7 @@ class DecryptionTests(unittest.TestCase):
def testBadPassword(self): def testBadPassword(self):
self.zip.setpassword("perl") self.zip.setpassword("perl")
self.assertRaises(RuntimeError, self.zip.read, "test.txt") self.assertRaises(RuntimeError, self.zip.read, "test.txt")
def testGoodPassword(self): def testGoodPassword(self):
self.zip.setpassword("python") self.zip.setpassword("python")
self.assertEquals(self.zip.read("test.txt"), self.plain) self.assertEquals(self.zip.read("test.txt"), self.plain)
@ -589,7 +589,7 @@ class TestsWithRandomBinaryFiles(unittest.TestCase):
def testStored(self): def testStored(self):
for f in (TESTFN2, TemporaryFile(), StringIO()): for f in (TESTFN2, TemporaryFile(), StringIO()):
self.zipTest(f, zipfile.ZIP_STORED) self.zipTest(f, zipfile.ZIP_STORED)
def zipOpenTest(self, f, compression): def zipOpenTest(self, f, compression):
self.makeTestArchive(f, compression) self.makeTestArchive(f, compression)
@ -610,17 +610,17 @@ class TestsWithRandomBinaryFiles(unittest.TestCase):
if not read_data: if not read_data:
break break
zipdata2.append(read_data) zipdata2.append(read_data)
testdata1 = ''.join(zipdata1) testdata1 = ''.join(zipdata1)
self.assertEqual(len(testdata1), len(self.data)) self.assertEqual(len(testdata1), len(self.data))
self.assertEqual(testdata1, self.data) self.assertEqual(testdata1, self.data)
testdata2 = ''.join(zipdata2) testdata2 = ''.join(zipdata2)
self.assertEqual(len(testdata1), len(self.data)) self.assertEqual(len(testdata1), len(self.data))
self.assertEqual(testdata1, self.data) self.assertEqual(testdata1, self.data)
zipfp.close() zipfp.close()
def testOpenStored(self): def testOpenStored(self):
for f in (TESTFN2, TemporaryFile(), StringIO()): for f in (TESTFN2, TemporaryFile(), StringIO()):
self.zipOpenTest(f, zipfile.ZIP_STORED) self.zipOpenTest(f, zipfile.ZIP_STORED)
@ -641,8 +641,8 @@ class TestsWithRandomBinaryFiles(unittest.TestCase):
self.assertEqual(len(testdata), len(self.data)) self.assertEqual(len(testdata), len(self.data))
self.assertEqual(testdata, self.data) self.assertEqual(testdata, self.data)
zipfp.close() zipfp.close()
def testRandomOpenStored(self): def testRandomOpenStored(self):
for f in (TESTFN2, TemporaryFile(), StringIO()): for f in (TESTFN2, TemporaryFile(), StringIO()):
self.zipRandomOpenTest(f, zipfile.ZIP_STORED) self.zipRandomOpenTest(f, zipfile.ZIP_STORED)
@ -653,7 +653,7 @@ class TestsWithMultipleOpens(unittest.TestCase):
zipfp.writestr('ones', '1'*FIXEDTEST_SIZE) zipfp.writestr('ones', '1'*FIXEDTEST_SIZE)
zipfp.writestr('twos', '2'*FIXEDTEST_SIZE) zipfp.writestr('twos', '2'*FIXEDTEST_SIZE)
zipfp.close() zipfp.close()
def testSameFile(self): def testSameFile(self):
# Verify that (when the ZipFile is in control of creating file objects) # Verify that (when the ZipFile is in control of creating file objects)
# multiple open() calls can be made without interfering with each other. # multiple open() calls can be made without interfering with each other.
@ -694,10 +694,10 @@ class TestsWithMultipleOpens(unittest.TestCase):
self.assertEqual(data1, '1'*FIXEDTEST_SIZE) self.assertEqual(data1, '1'*FIXEDTEST_SIZE)
self.assertEqual(data2, '2'*FIXEDTEST_SIZE) self.assertEqual(data2, '2'*FIXEDTEST_SIZE)
zipf.close() zipf.close()
def tearDown(self): def tearDown(self):
os.remove(TESTFN2) os.remove(TESTFN2)
class UniversalNewlineTests(unittest.TestCase): class UniversalNewlineTests(unittest.TestCase):
def setUp(self): def setUp(self):
@ -726,7 +726,7 @@ class UniversalNewlineTests(unittest.TestCase):
self.assertEqual(self.arcdata[sep], zipdata) self.assertEqual(self.arcdata[sep], zipdata)
zipfp.close() zipfp.close()
def readlineTest(self, f, compression): def readlineTest(self, f, compression):
self.makeTestArchive(f, compression) self.makeTestArchive(f, compression)
@ -763,36 +763,36 @@ class UniversalNewlineTests(unittest.TestCase):
zipfp.close() zipfp.close()
def testReadStored(self): def testReadStored(self):
for f in (TESTFN2, TemporaryFile(), StringIO()): for f in (TESTFN2, TemporaryFile(), StringIO()):
self.readTest(f, zipfile.ZIP_STORED) self.readTest(f, zipfile.ZIP_STORED)
def testReadlineStored(self): def testReadlineStored(self):
for f in (TESTFN2, TemporaryFile(), StringIO()): for f in (TESTFN2, TemporaryFile(), StringIO()):
self.readlineTest(f, zipfile.ZIP_STORED) self.readlineTest(f, zipfile.ZIP_STORED)
def testReadlinesStored(self): def testReadlinesStored(self):
for f in (TESTFN2, TemporaryFile(), StringIO()): for f in (TESTFN2, TemporaryFile(), StringIO()):
self.readlinesTest(f, zipfile.ZIP_STORED) self.readlinesTest(f, zipfile.ZIP_STORED)
def testIterlinesStored(self): def testIterlinesStored(self):
for f in (TESTFN2, TemporaryFile(), StringIO()): for f in (TESTFN2, TemporaryFile(), StringIO()):
self.iterlinesTest(f, zipfile.ZIP_STORED) self.iterlinesTest(f, zipfile.ZIP_STORED)
if zlib: if zlib:
def testReadDeflated(self): def testReadDeflated(self):
for f in (TESTFN2, TemporaryFile(), StringIO()): for f in (TESTFN2, TemporaryFile(), StringIO()):
self.readTest(f, zipfile.ZIP_DEFLATED) self.readTest(f, zipfile.ZIP_DEFLATED)
def testReadlineDeflated(self): def testReadlineDeflated(self):
for f in (TESTFN2, TemporaryFile(), StringIO()): for f in (TESTFN2, TemporaryFile(), StringIO()):
self.readlineTest(f, zipfile.ZIP_DEFLATED) self.readlineTest(f, zipfile.ZIP_DEFLATED)
def testReadlinesDeflated(self): def testReadlinesDeflated(self):
for f in (TESTFN2, TemporaryFile(), StringIO()): for f in (TESTFN2, TemporaryFile(), StringIO()):
self.readlinesTest(f, zipfile.ZIP_DEFLATED) self.readlinesTest(f, zipfile.ZIP_DEFLATED)
def testIterlinesDeflated(self): def testIterlinesDeflated(self):
for f in (TESTFN2, TemporaryFile(), StringIO()): for f in (TESTFN2, TemporaryFile(), StringIO()):
self.iterlinesTest(f, zipfile.ZIP_DEFLATED) self.iterlinesTest(f, zipfile.ZIP_DEFLATED)
@ -802,8 +802,8 @@ class UniversalNewlineTests(unittest.TestCase):
def test_main(): def test_main():
run_unittest(TestsWithSourceFile, TestZip64InSmallFiles, OtherTests, run_unittest(TestsWithSourceFile, TestZip64InSmallFiles, OtherTests,
PyZipFileTests, DecryptionTests, TestsWithMultipleOpens, PyZipFileTests, DecryptionTests, TestsWithMultipleOpens,
UniversalNewlineTests, TestsWithRandomBinaryFiles) UniversalNewlineTests, TestsWithRandomBinaryFiles)
#run_unittest(TestZip64InSmallFiles) #run_unittest(TestZip64InSmallFiles)

View file

@ -30,7 +30,7 @@ handler, the argument will be installed instead of the default.
install_opener -- Installs a new opener as the default opener. install_opener -- Installs a new opener as the default opener.
objects of interest: objects of interest:
OpenerDirector -- OpenerDirector --
Request -- An object that encapsulates the state of a request. The Request -- An object that encapsulates the state of a request. The
state can be as simple as the URL. It can also include extra HTTP state can be as simple as the URL. It can also include extra HTTP

View file

@ -357,9 +357,9 @@ class _ZipDecrypter:
class ZipExtFile: class ZipExtFile:
"""File-like object for reading an archive member. """File-like object for reading an archive member.
Is returned by ZipFile.open(). Is returned by ZipFile.open().
""" """
def __init__(self, fileobj, zipinfo, decrypt=None): def __init__(self, fileobj, zipinfo, decrypt=None):
self.fileobj = fileobj self.fileobj = fileobj
self.decrypter = decrypt self.decrypter = decrypt
@ -374,7 +374,7 @@ class ZipExtFile:
self.compress_type = zipinfo.compress_type self.compress_type = zipinfo.compress_type
self.compress_size = zipinfo.compress_size self.compress_size = zipinfo.compress_size
self.closed = False self.closed = False
self.mode = "r" self.mode = "r"
self.name = zipinfo.filename self.name = zipinfo.filename
@ -386,7 +386,7 @@ class ZipExtFile:
def set_univ_newlines(self, univ_newlines): def set_univ_newlines(self, univ_newlines):
self.univ_newlines = univ_newlines self.univ_newlines = univ_newlines
# pick line separator char(s) based on universal newlines flag # pick line separator char(s) based on universal newlines flag
self.nlSeps = ("\n", ) self.nlSeps = ("\n", )
if self.univ_newlines: if self.univ_newlines:
@ -394,7 +394,7 @@ class ZipExtFile:
def __iter__(self): def __iter__(self):
return self return self
def next(self): def next(self):
nextline = self.readline() nextline = self.readline()
if not nextline: if not nextline:
@ -414,17 +414,17 @@ class ZipExtFile:
if (self.lastdiscard, self.linebuffer[0]) == ('\r','\n'): if (self.lastdiscard, self.linebuffer[0]) == ('\r','\n'):
self.linebuffer = self.linebuffer[1:] self.linebuffer = self.linebuffer[1:]
for sep in self.nlSeps: for sep in self.nlSeps:
nl = self.linebuffer.find(sep) nl = self.linebuffer.find(sep)
if nl >= 0: if nl >= 0:
nllen = len(sep) nllen = len(sep)
return nl, nllen return nl, nllen
return nl, nllen return nl, nllen
def readline(self, size = -1): def readline(self, size = -1):
"""Read a line with approx. size. If size is negative, """Read a line with approx. size. If size is negative,
read a whole line. read a whole line.
""" """
if size < 0: if size < 0:
size = sys.maxint size = sys.maxint
@ -433,7 +433,7 @@ class ZipExtFile:
# check for a newline already in buffer # check for a newline already in buffer
nl, nllen = self._checkfornewline() nl, nllen = self._checkfornewline()
if nl >= 0: if nl >= 0:
# the next line was already in the buffer # the next line was already in the buffer
nl = min(nl, size) nl = min(nl, size)
@ -449,7 +449,7 @@ class ZipExtFile:
# check for a newline in buffer # check for a newline in buffer
nl, nllen = self._checkfornewline() nl, nllen = self._checkfornewline()
# we either ran out of bytes in the file, or # we either ran out of bytes in the file, or
# met the specified size limit without finding a newline, # met the specified size limit without finding a newline,
# so return current buffer # so return current buffer
@ -528,8 +528,8 @@ class ZipExtFile:
newdata = self.dc.decompress(newdata) newdata = self.dc.decompress(newdata)
self.rawbuffer = self.dc.unconsumed_tail self.rawbuffer = self.dc.unconsumed_tail
if self.eof and len(self.rawbuffer) == 0: if self.eof and len(self.rawbuffer) == 0:
# we're out of raw bytes (both from the file and # we're out of raw bytes (both from the file and
# the local buffer); flush just to make sure the # the local buffer); flush just to make sure the
# decompressor is done # decompressor is done
newdata += self.dc.flush() newdata += self.dc.flush()
# prevent decompressor from being used again # prevent decompressor from being used again
@ -547,7 +547,7 @@ class ZipExtFile:
self.readbuffer = self.readbuffer[size:] self.readbuffer = self.readbuffer[size:]
return bytes return bytes
class ZipFile: class ZipFile:
""" Class with methods to open, read, write, close, list zip files. """ Class with methods to open, read, write, close, list zip files.
@ -738,7 +738,7 @@ class ZipFile:
raise RuntimeError, \ raise RuntimeError, \
"Attempt to read ZIP archive that was already closed" "Attempt to read ZIP archive that was already closed"
# Only open a new file for instances where we were not # Only open a new file for instances where we were not
# given a file object in the constructor # given a file object in the constructor
if self._filePassed: if self._filePassed:
zef_file = self.fp zef_file = self.fp