From c76091677c3fde9dabd70f0c817d81658d29426d Mon Sep 17 00:00:00 2001 From: Eduardo Robles Elvira Date: Wed, 6 Nov 2013 12:51:00 +0100 Subject: [PATCH] fixing some warnings in python3 from dereferenced but unclosed files --- filesplit.py | 4 ++-- testing/__init__.py | 8 ++++++++ testing/test_deltatar.py | 2 ++ testing/test_multivol.py | 5 +++-- 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/filesplit.py b/filesplit.py index 1aa5c9a..7f5a412 100644 --- a/filesplit.py +++ b/filesplit.py @@ -99,5 +99,5 @@ if __name__ == "__main__": chunk_file(input_file=args.input_file, output_file=args.output, from_pos=args.from_pos, to_pos=args.to_pos) else: - split_file(separator=bytes(args.separator, 'UTF-8'), prefix=args.prefix, - input_file=args.input_file) + split_file(separator=args.separator.encode('UTF-8', errors="surrogateescape"), + prefix=args.prefix, input_file=args.input_file) diff --git a/testing/__init__.py b/testing/__init__.py index dd27771..c616370 100644 --- a/testing/__init__.py +++ b/testing/__init__.py @@ -25,6 +25,14 @@ def new_volume_handler(tarobj, base_name, volume_number): volume_path = "%s.%d" % (base_name, volume_number) tarobj.open_volume(volume_path) +def closing_new_volume_handler(tarobj, base_name, volume_number): + ''' + Handles the new volumes + ''' + volume_path = "%s.%d" % (base_name, volume_number) + tarobj.fileobj.close() + tarobj.open_volume(volume_path) + class BaseTest(unittest.TestCase): """ Test concatenated compression in tarfiles diff --git a/testing/test_deltatar.py b/testing/test_deltatar.py index 7c6e73f..90583f3 100644 --- a/testing/test_deltatar.py +++ b/testing/test_deltatar.py @@ -130,6 +130,7 @@ class DeltaTarTest(BaseTest): break elif began_list: crc = binascii.crc32(l, crc) & 0xffffffff + f.close() def test_restore_multivol(self): @@ -270,6 +271,7 @@ class DeltaTarTest(BaseTest): member.name = deltatar.unprefixed(member.name) tarobj.extract(member) tarobj.close() + fo.close() assert self.hash['source_dir2/huge'] == self.md5sum('huge') os.unlink("huge") diff --git a/testing/test_multivol.py b/testing/test_multivol.py index 0389139..481ed7e 100644 --- a/testing/test_multivol.py +++ b/testing/test_multivol.py @@ -18,7 +18,7 @@ import os, unittest, hashlib, string from deltatar.tarfile import TarFile, PAX_FORMAT, GNU_FORMAT, BLOCKSIZE -from . import BaseTest, new_volume_handler +from . import BaseTest, new_volume_handler, closing_new_volume_handler class MultivolGnuFormatTest(BaseTest): """ @@ -543,7 +543,7 @@ class MultivolGnuFormatTest(BaseTest): mode="w", format=self.tarfile_format, max_volume_size=2*1024*1024, - new_volume_handler=new_volume_handler) + new_volume_handler=closing_new_volume_handler) tarobj.add("big") tarobj.close() @@ -566,6 +566,7 @@ class MultivolGnuFormatTest(BaseTest): volume_path = "%s.%d" % (base_name, volume_number) try: + tarobj.fileobj.close() tarobj.open_volume(volume_path) except IOError as e: # only volume number 2 is missing -- 1.7.1