binman: Use tools compression function for blob handling
authorSimon Glass <sjg@chromium.org>
Mon, 8 Jul 2019 19:18:44 +0000 (13:18 -0600)
committerSimon Glass <sjg@chromium.org>
Wed, 24 Jul 2019 03:27:58 +0000 (20:27 -0700)
Avoid duplicate code here by using the new compression function in the
tools module.

Signed-off-by: Simon Glass <sjg@chromium.org>
tools/binman/etype/blob.py

index f56a1f8..a91e784 100644 (file)
@@ -49,18 +49,10 @@ class Entry_blob(Entry):
         # new Entry method which can read in chunks. Then we could copy
         # the data in chunks and avoid reading it all at once. For now
         # this seems like an unnecessary complication.
-        data = tools.ReadFile(self._pathname)
-        if self._compress == 'lz4':
-            self._uncompressed_size = len(data)
-            '''
-            import lz4  # Import this only if needed (python-lz4 dependency)
-
-            try:
-                data = lz4.frame.compress(data)
-            except AttributeError:
-                data = lz4.compress(data)
-            '''
-            data = tools.Run('lz4', '-c', self._pathname, binary=True)
+        indata = tools.ReadFile(self._pathname)
+        if self._compress != 'none':
+            self._uncompressed_size = len(indata)
+        data = tools.Compress(indata, self._compress)
         self.SetContents(data)
         return True