diff mbox series

[SWUgenerator] Replace filenames after compression

Message ID 20220815155644.262055-1-sbabic@denx.de
State Accepted
Headers show
Series [SWUgenerator] Replace filenames after compression | expand

Commit Message

Stefano Babic Aug. 15, 2022, 3:56 p.m. UTC
File is compressed with new name and it replaces the original filename
in sw-description.

Signed-off-by: Stefano Babic <sbabic@denx.de>
Reported-by: Esad Ergül <esadergul@gmail.com>
---
 swugenerator/artifact.py  | 8 +++-----
 swugenerator/generator.py | 9 ++++++---
 2 files changed, 9 insertions(+), 8 deletions(-)
diff mbox series

Patch

diff --git a/swugenerator/artifact.py b/swugenerator/artifact.py
index d1f48a0..96482d8 100644
--- a/swugenerator/artifact.py
+++ b/swugenerator/artifact.py
@@ -10,6 +10,7 @@  import subprocess
 class Artifact:
     def __init__(self, filename: "") -> None:
         self.filename = filename
+        self.newfilename = filename
         self.fullfilename = filename
         self._available = False
         self.sha256 = ""
@@ -18,7 +19,7 @@  class Artifact:
     def exist(self):
         return os.path.exists(self.filename)
 
-    def computesha256(self):
+    def getsha256(self):
         m = hashlib.sha256()
         with open(os.path.join(self.fullfilename), 'rb') as f:
             while True:
@@ -35,14 +36,11 @@  class Artifact:
             fname = os.path.join(libdir, self.filename)
             if os.path.exists(fname):
                 self.fullfilename = fname
-                self.sha256 = self.computesha256()
+                self.sha256 = self.getsha256()
                 self.size = os.path.getsize(fname)
                 return True
         return False
 
-    def getsha256(self):
-        return self.sha256
-
     def getsize(self):
         return self.size
 
diff --git a/swugenerator/generator.py b/swugenerator/generator.py
index 37a7a7b..c650381 100644
--- a/swugenerator/generator.py
+++ b/swugenerator/generator.py
@@ -61,6 +61,8 @@  class SWUGenerator:
                 logging.critical("Artifact %s not found" % entry['filename'])
                 exit(22)
 
+            new.newfilename = entry['filename']
+
             # Encrypt if required
             if 'encrypted' in entry and self.aeskey:
                 iv = self.aesiv
@@ -78,9 +80,8 @@  class SWUGenerator:
                     logging.critical("Wrong compression algorithm: %s" % cmp)
                     exit(1)
 
-                #new_path = os.path.join(self.temp.name, entry['filename']) + '.' + cmp
-                new_path = os.path.join(self.temp.name, entry['filename'])
-
+                new_path = os.path.join(self.temp.name, entry['filename']) + '.' + cmp
+                new.newfilename = entry['filename'] + '.' + cmp
                 if cmp == 'zlib':
                     cmd = ['gzip', '-f', '-9', '-n', '-c', '--rsyncable', new.fullfilename, '>', new_path]
                 else:
@@ -97,6 +98,8 @@  class SWUGenerator:
             self.artifacts.append(new)
         else:
             print("Artifact  %s already stored" % entry['filename'])
+
+        entry['filename'] = new.newfilename
         entry['sha256'] = new.getsha256()
 
     def find_files_in_swdesc(self, first):