From f4171e7499ef27db9e1bdf92ea9c254a5f4436c2 Mon Sep 17 00:00:00 2001 From: Papoteur Date: Fri, 18 Dec 2020 22:46:20 +0100 Subject: Display warning instead of succes when signatures or sums doesn't match --- backend/raw_write.py | 4 +++- lib/isodumper.py | 17 +++++++++++++++-- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/backend/raw_write.py b/backend/raw_write.py index 1c1e216..164089b 100755 --- a/backend/raw_write.py +++ b/backend/raw_write.py @@ -198,6 +198,7 @@ class Dumper(object): sha512func.update(block) sha512sumcalc=sha512func.hexdigest().upper() f.close() + self.return_state = True if self.signature_found and not self.signature_checked: #, keep the pourcent, this is the place for source file name self.return_message = _('Invalid signature for %s')%self.source_file @@ -211,17 +212,18 @@ class Dumper(object): else : if self.signature_found: self.return_message +="\n" + _("The signature of the sum is false !").format(self.sum_type) + self.return_state = False else: #, keep the bracket, this is the place for sum type self.return_message +="\n" + _("The {} sum check is OK but the signature can't be found").format(self.sum_type) else: self.return_message +="\n" + _("/!\\The computed and stored sums don't match") + self.return_state = False #except: #pass self._progress = 100 logging.info(self.return_message) - self.return_state = True self.finished.set() def udev_wait(self, operation): diff --git a/lib/isodumper.py b/lib/isodumper.py index 540b0b1..9e68e3f 100755 --- a/lib/isodumper.py +++ b/lib/isodumper.py @@ -417,7 +417,7 @@ class IsoDumper(object): self.progress.setValue(progress) self.dialog.pollEvent() time.sleep(.5) - success, message = iface.end() + nowarning, message = iface.end() self.progress.setEnabled() self.logger(message) # Add persistent partition if asked @@ -455,7 +455,10 @@ class IsoDumper(object): self.udev_wait(_("unmounting")) if success: self.u.eject(target) - self.success() + if nowarning : + self.success() + else: + self.warning() else: self.emergency(message) self.restore() @@ -477,6 +480,16 @@ class IsoDumper(object): if self.ask_OK(info): return + def warning(self): + self.operation = False + self.final_unsensitive() + info = Info(_("Warning"), True, _("The operation completed, but with anomalies.\n\ + Check carefully the messages in log view.\n\ + You are free to unplug it now, a logfile \n\ +(/home/-user- or /root)/.isodumper/isodumper.log will be saved when\n\ + you close the application.")) + if self.ask_OK(info): + return def confirm_close(self, *args): if not self.operation: # no writing , backup nor format running self.close() -- cgit v1.2.1