Browse Source

Merge pull request #471 from yagebu/master

helpers: remove functions that are only used once
TW 9 years ago
parent
commit
c7bde3ba3e
2 changed files with 10 additions and 17 deletions
  1. 0 13
      borg/helpers.py
  2. 10 4
      borg/repository.py

+ 0 - 13
borg/helpers.py

@@ -697,19 +697,6 @@ def location_validator(archive=None):
     return validator
     return validator
 
 
 
 
-def read_msgpack(filename):
-    with open(filename, 'rb') as fd:
-        return msgpack.unpack(fd)
-
-
-def write_msgpack(filename, d):
-    with open(filename + '.tmp', 'wb') as fd:
-        msgpack.pack(d, fd)
-        fd.flush()
-        os.fsync(fd.fileno())
-    os.rename(filename + '.tmp', filename)
-
-
 def decode_dict(d, keys, encoding='utf-8', errors='surrogateescape'):
 def decode_dict(d, keys, encoding='utf-8', errors='surrogateescape'):
     for key in keys:
     for key in keys:
         if isinstance(d.get(key), bytes):
         if isinstance(d.get(key), bytes):

+ 10 - 4
borg/repository.py

@@ -10,8 +10,8 @@ import shutil
 import struct
 import struct
 from zlib import crc32
 from zlib import crc32
 
 
-from .helpers import Error, ErrorWithTraceback, IntegrityError, read_msgpack, write_msgpack, \
-                     unhexlify, ProgressIndicatorPercent
+import msgpack
+from .helpers import Error, ErrorWithTraceback, IntegrityError, unhexlify, ProgressIndicatorPercent
 from .hashindex import NSIndex
 from .hashindex import NSIndex
 from .locking import UpgradableLock, LockError, LockErrorT
 from .locking import UpgradableLock, LockError, LockErrorT
 from .lrucache import LRUCache
 from .lrucache import LRUCache
@@ -189,7 +189,8 @@ class Repository:
         else:
         else:
             if do_cleanup:
             if do_cleanup:
                 self.io.cleanup(transaction_id)
                 self.io.cleanup(transaction_id)
-            hints = read_msgpack(os.path.join(self.path, 'hints.%d' % transaction_id))
+            with open(os.path.join(self.path, 'hints.%d' % transaction_id), 'rb') as fd:
+                hints = msgpack.unpack(fd)
             if hints[b'version'] != 1:
             if hints[b'version'] != 1:
                 raise ValueError('Unknown hints file version: %d' % hints['version'])
                 raise ValueError('Unknown hints file version: %d' % hints['version'])
             self.segments = hints[b'segments']
             self.segments = hints[b'segments']
@@ -200,7 +201,12 @@ class Repository:
                  b'segments': self.segments,
                  b'segments': self.segments,
                  b'compact': list(self.compact)}
                  b'compact': list(self.compact)}
         transaction_id = self.io.get_segments_transaction_id()
         transaction_id = self.io.get_segments_transaction_id()
-        write_msgpack(os.path.join(self.path, 'hints.%d' % transaction_id), hints)
+        hints_file = os.path.join(self.path, 'hints.%d' % transaction_id)
+        with open(hints_file + '.tmp', 'wb') as fd:
+            msgpack.pack(hints, fd)
+            fd.flush()
+            os.fsync(fd.fileno())
+        os.rename(hints_file + '.tmp', hints_file)
         self.index.write(os.path.join(self.path, 'index.tmp'))
         self.index.write(os.path.join(self.path, 'index.tmp'))
         os.rename(os.path.join(self.path, 'index.tmp'),
         os.rename(os.path.join(self.path, 'index.tmp'),
                   os.path.join(self.path, 'index.%d' % transaction_id))
                   os.path.join(self.path, 'index.%d' % transaction_id))