From 1d2dc97ffac110ee8dca2d3a83deb6953bcfee01 Mon Sep 17 00:00:00 2001 From: Papoteur Date: Tue, 24 May 2016 21:41:59 +0200 Subject: After signature checking, show an icon, nothing if not OK --- mageiaSync/mageiaSyncExt.py | 19 +++++++++---------- mageiaSync/mageiasync.py | 16 +++++++++++++++- 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/mageiaSync/mageiaSyncExt.py b/mageiaSync/mageiaSyncExt.py index 5c7f053..f2240fd 100644 --- a/mageiaSync/mageiaSyncExt.py +++ b/mageiaSync/mageiaSyncExt.py @@ -22,6 +22,7 @@ class checkThread(QThread): def processSum(self,sumType): import hashlib + checkvalue=0 if sumType=='sha512': hashfunc = hashlib.sha512() if sumType=='md5': @@ -34,12 +35,10 @@ class checkThread(QThread): try: with open(sig_file, 'rb') as g: verified = gpg.verify_file(g) - if not verified.valid: - print('Signature not OK') - return False + if verified.valid: + checkvalue=64 except: print('Signature file %s not found'%sig_file) - return False try: with open(self.destination+'/'+self.path+'/'+self.name, 'rb') as f: while True: @@ -48,16 +47,16 @@ class checkThread(QThread): hashfunc.update(block) sumcalc=hashfunc.hexdigest() except: - return False + return checkvalue try: fs=open(self.destination+'/'+self.path+'/'+self.name+'.'+sumType,'r') except: # reference file not found - return False + return checkvalue sumcheck=(fs.readline()).split()[0] if sumcalc==sumcheck: - return True - return False + checkvalue += 128 + return checkvalue def processDate(self): import datetime as datetime @@ -96,11 +95,11 @@ class checkThread(QThread): signal=400+self.isoIndex self.checkStartSignal.emit(signal) checkMd5=self.processSum('md5') - self.md5Signal.emit(self.isoIndex+128*checkMd5) + self.md5Signal.emit(self.isoIndex+checkMd5) signal=300+self.isoIndex self.checkStartSignal.emit(signal) checkSha=self.processSum('sha512') - self.sha1Signal.emit(self.isoIndex+128*checkSha) + self.sha1Signal.emit(self.isoIndex+checkSha) self.quit() diff --git a/mageiaSync/mageiasync.py b/mageiaSync/mageiasync.py index cc060d9..b67ea52 100644 --- a/mageiaSync/mageiasync.py +++ b/mageiaSync/mageiasync.py @@ -2,7 +2,7 @@ from PyQt5.QtWidgets import ( QProgressDialog, QMainWindow, QDialog, QFileDialog, QApplication) -from PyQt5.QtGui import ( QStandardItemModel,QStandardItem, QDesktopServices, ) +from PyQt5.QtGui import ( QStandardItemModel,QStandardItem, QDesktopServices, QIcon, ) from PyQt5.QtCore import ( QLibraryInfo, QUrl, QItemSelectionModel ) from PyQt5 import QtCore # , Qt, QThread, QObject, pyqtSignal) import sys @@ -259,21 +259,35 @@ class IsosViewer(QMainWindow, mageiaSyncUI.Ui_mainWindow): self.model.setData(self.model.index(row, col, QtCore.QModelIndex()), self.tr("Checking")) def md5Check(self,check): + verified=False if check>=128: val=self.tr("OK") row=check-128 + if row >= 64: + verified=True + row -= 64 else: val=self.tr("Failed") row=check + if verified: + # we add an icon for the GPG key + self.model.setData(self.model.index(row, 4, QtCore.QModelIndex()),QIcon("preflight-verifier"),1) self.model.setData(self.model.index(row, 4, QtCore.QModelIndex()), val) def sha1Check(self,check): + verified=False if check>=128: val=self.tr("OK") row=check-128 + if row >= 64: + verified=True + row -= 64 else: val=self.tr("Failed") row=check + if verified: + # we add an icon for the GPG key + self.model.setData(self.model.index(row, 4, QtCore.QModelIndex()),QIcon("preflight-verifier"),1) self.model.setData(self.model.index(row, 3, QtCore.QModelIndex()), val) def dateCheck(self,check): -- cgit v1.2.1