From ac3b0f86ff7918573bd4a83754ae3aedd8e6b703 Mon Sep 17 00:00:00 2001
From: "Antoine R. Dumont (@ardumont)" <antoine.romain.dumont@gmail.com>
Date: Thu, 27 Sep 2018 17:44:01 +0200
Subject: [PATCH] swh.model.hashutil: Remove extra length parameter

This aligns the new api with the old one.
---
 swh/model/from_disk.py           |  5 ++---
 swh/model/hashutil.py            | 14 ++++----------
 swh/model/tests/test_hashutil.py |  1 -
 3 files changed, 6 insertions(+), 14 deletions(-)

diff --git a/swh/model/from_disk.py b/swh/model/from_disk.py
index a9fc2d3b..bfd7c7cd 100644
--- a/swh/model/from_disk.py
+++ b/swh/model/from_disk.py
@@ -77,9 +77,8 @@ class Content(MerkleLeaf):
           mode (int): a file mode (passed to :func:`mode_to_perms`)
           data (bytes): raw contents of the file
         """
-        length = len(data)
-        ret = MultiHash.from_data(data, length=length).digest()
-        ret['length'] = length
+        ret = MultiHash.from_data(data).digest()
+        ret['length'] = len(data)
         ret['perms'] = mode_to_perms(mode)
         ret['data'] = data
 
diff --git a/swh/model/hashutil.py b/swh/model/hashutil.py
index 24c2f696..91250f4f 100644
--- a/swh/model/hashutil.py
+++ b/swh/model/hashutil.py
@@ -127,21 +127,15 @@ class MultiHash:
         return ret
 
     @classmethod
-    def from_path(cls, path, hash_names=DEFAULT_ALGORITHMS, length=None,
-                  track_length=True):
-        if not length:
-            length = os.path.getsize(path)
+    def from_path(cls, path, hash_names=DEFAULT_ALGORITHMS):
+        length = os.path.getsize(path)
         with open(path, 'rb') as f:
             ret = cls.from_file(f, hash_names=hash_names, length=length)
-        # For compatibility reason with `hash_path`
-        if track_length:
-            ret.state['length'] = length
         return ret
 
     @classmethod
-    def from_data(cls, data, hash_names=DEFAULT_ALGORITHMS, length=None):
-        if not length:
-            length = len(data)
+    def from_data(cls, data, hash_names=DEFAULT_ALGORITHMS):
+        length = len(data)
         fobj = BytesIO(data)
         return cls.from_file(fobj, hash_names=hash_names, length=length)
 
diff --git a/swh/model/tests/test_hashutil.py b/swh/model/tests/test_hashutil.py
index 92b3684a..94a66ddc 100644
--- a/swh/model/tests/test_hashutil.py
+++ b/swh/model/tests/test_hashutil.py
@@ -117,7 +117,6 @@ class MultiHashTest(BaseHashutil):
         hashes = MultiHash.from_path(f.name).digest()
         os.remove(f.name)
 
-        self.checksums['length'] = len(self.data)
         self.assertEquals(self.checksums, hashes)
 
 
-- 
GitLab