fixing some warnings in python3 from dereferenced but unclosed files
authorEduardo Robles Elvira <edulix@wadobo.com>
Wed, 6 Nov 2013 11:51:00 +0000 (12:51 +0100)
committerEduardo Robles Elvira <edulix@wadobo.com>
Wed, 6 Nov 2013 11:51:00 +0000 (12:51 +0100)
filesplit.py
testing/__init__.py
testing/test_deltatar.py
testing/test_multivol.py

index 1aa5c9a..7f5a412 100644 (file)
@@ -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)
index dd27771..c616370 100644 (file)
@@ -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
index 7c6e73f..90583f3 100644 (file)
@@ -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")
index 0389139..481ed7e 100644 (file)
@@ -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