mirror of
https://gitlab.os-k.eu/neox/CNIRevelator.git
synced 2023-08-25 14:03:10 +02:00
Minor correction
This commit is contained in:
parent
1548fae87b
commit
8e389ddf25
51
src/ihm.py
51
src/ihm.py
@ -1,4 +1,4 @@
|
|||||||
"""
|
"""
|
||||||
********************************************************************************
|
********************************************************************************
|
||||||
* CNIRevelator *
|
* CNIRevelator *
|
||||||
* *
|
* *
|
||||||
@ -24,14 +24,17 @@
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
from tkinter import *
|
from tkinter import *
|
||||||
|
import webbrowser
|
||||||
from tkinter.messagebox import *
|
from tkinter.messagebox import *
|
||||||
from tkinter import filedialog
|
from tkinter import filedialog
|
||||||
from tkinter import ttk
|
from tkinter import ttk
|
||||||
import cv2
|
import cv2
|
||||||
import PIL.Image, PIL.ImageTk
|
import PIL.Image, PIL.ImageTk
|
||||||
|
import traceback
|
||||||
|
|
||||||
import logger # logger.py
|
import logger # logger.py
|
||||||
import globs # globs.py
|
import globs # globs.py
|
||||||
|
import lang # lang.py
|
||||||
|
|
||||||
|
|
||||||
controlKeys = ["Escape", "Right", "Left", "Up", "Down", "Home", "End", "BackSpace", "Delete", "Inser", "Shift_L", "Shift_R", "Control_R", "Control_L"]
|
controlKeys = ["Escape", "Right", "Left", "Up", "Down", "Home", "End", "BackSpace", "Delete", "Inser", "Shift_L", "Shift_R", "Control_R", "Control_L"]
|
||||||
@ -42,7 +45,7 @@ class DocumentAsk(Toplevel):
|
|||||||
self.choice = 0
|
self.choice = 0
|
||||||
vals = [0, 1]
|
vals = [0, 1]
|
||||||
super().__init__(parent)
|
super().__init__(parent)
|
||||||
self.title("Choisir le document d'identité :")
|
self.title("{} :".format(lang.all[globs.CNIRlang]["Choose the identity document"]))
|
||||||
|
|
||||||
ttk.Radiobutton(self, text=choices[0], command=self.register0, value=vals[0]).pack()
|
ttk.Radiobutton(self, text=choices[0], command=self.register0, value=vals[0]).pack()
|
||||||
ttk.Radiobutton(self, text=choices[1], command=self.register1, value=vals[1]).pack()
|
ttk.Radiobutton(self, text=choices[1], command=self.register1, value=vals[1]).pack()
|
||||||
@ -68,19 +71,19 @@ class DocumentAsk(Toplevel):
|
|||||||
self.choice = 1
|
self.choice = 1
|
||||||
def ok(self):
|
def ok(self):
|
||||||
self.destroy()
|
self.destroy()
|
||||||
|
|
||||||
|
|
||||||
class OpenScanDialog(Toplevel):
|
class OpenScanDialog(Toplevel):
|
||||||
|
|
||||||
def __init__(self, parent, text):
|
def __init__(self, parent, text):
|
||||||
super().__init__(parent)
|
super().__init__(parent)
|
||||||
self.parent = parent
|
self.parent = parent
|
||||||
self.title('Validation de la MRZ détectée par OCR')
|
self.title(lang.all[globs.CNIRlang]["OCR Detection Validation"])
|
||||||
self.resizable(width=False, height=False)
|
self.resizable(width=False, height=False)
|
||||||
self.termtext = Text(self, state='normal', width=45, height=2, wrap='none', font='Terminal 17', fg='#121f38')
|
self.termtext = Text(self, state='normal', width=45, height=2, wrap='none', font='Terminal 17', fg='#121f38')
|
||||||
self.termtext.grid(column=0, row=0, sticky='NEW', padx=5, pady=5)
|
self.termtext.grid(column=0, row=0, sticky='NEW', padx=5, pady=5)
|
||||||
self.termtext.insert('end', text + '\n')
|
self.termtext.insert('end', text + '\n')
|
||||||
self.button = Button(self, text='Valider', command=(self.valid))
|
self.button = Button(self, text=lang.all[globs.CNIRlang]["Validate"], command=(self.valid))
|
||||||
self.button.grid(column=0, row=1, sticky='S', padx=5, pady=5)
|
self.button.grid(column=0, row=1, sticky='S', padx=5, pady=5)
|
||||||
self.update()
|
self.update()
|
||||||
hs = self.winfo_screenheight()
|
hs = self.winfo_screenheight()
|
||||||
@ -102,27 +105,27 @@ class OpenScanDialog(Toplevel):
|
|||||||
for i in range(len(texting)):
|
for i in range(len(texting)):
|
||||||
for char in texting[i]:
|
for char in texting[i]:
|
||||||
if char not in 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789<':
|
if char not in 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789<':
|
||||||
showerror('Erreur de validation', 'La MRZ soumise contient des caractères invalides', parent=self)
|
showerror(lang.all[globs.CNIRlang]["Validation Error"], lang.all[globs.CNIRlang]["The submitted MRZ contains invalid characters"], parent=self)
|
||||||
self.parent.validatedtext = ''
|
self.parent.validatedtext = ''
|
||||||
|
|
||||||
self.destroy()
|
self.destroy()
|
||||||
|
|
||||||
class LoginDialog(Toplevel):
|
class LoginDialog(Toplevel):
|
||||||
|
|
||||||
def __init__(self, parent):
|
def __init__(self, parent):
|
||||||
self.key = ''
|
self.key = ''
|
||||||
self.login = ''
|
self.login = ''
|
||||||
super().__init__(parent)
|
super().__init__(parent)
|
||||||
self.title('Connexion')
|
self.title(lang.all[globs.CNIRlang]["Connection"])
|
||||||
Label(self, text='IPN : ').pack()
|
Label(self, text='IPN : ').pack()
|
||||||
self.entry_login = Entry(self)
|
self.entry_login = Entry(self)
|
||||||
self.entry_login.insert(0, '')
|
self.entry_login.insert(0, '')
|
||||||
self.entry_login.pack()
|
self.entry_login.pack()
|
||||||
Label(self, text='Mot de passe : ').pack()
|
Label(self, text='{} : '.format(lang.all[globs.CNIRlang]["Password"])).pack()
|
||||||
self.entry_pass = Entry(self, show='*')
|
self.entry_pass = Entry(self, show='*')
|
||||||
self.entry_pass.insert(0, '')
|
self.entry_pass.insert(0, '')
|
||||||
self.entry_pass.pack()
|
self.entry_pass.pack()
|
||||||
Button(self, text='Connexion', command=(self.connecti)).pack()
|
Button(self, text=lang.all[globs.CNIRlang]["Connection"], command=(self.connecti)).pack()
|
||||||
self.resizable(width=False, height=False)
|
self.resizable(width=False, height=False)
|
||||||
ws = self.winfo_screenwidth()
|
ws = self.winfo_screenwidth()
|
||||||
hs = self.winfo_screenheight()
|
hs = self.winfo_screenheight()
|
||||||
@ -185,7 +188,7 @@ class LauncherWindow(Tk):
|
|||||||
|
|
||||||
self.mainCanvas.create_text((wwidth / 2), (wheight / 3), text=(globs.CNIRName), font='Helvetica 30', fill='white')
|
self.mainCanvas.create_text((wwidth / 2), (wheight / 3), text=(globs.CNIRName), font='Helvetica 30', fill='white')
|
||||||
self.mainCanvas.create_text((wwidth / 2), (wheight / 2), text="version " + (globs.verstring_full), font='Helvetica 8', fill='white')
|
self.mainCanvas.create_text((wwidth / 2), (wheight / 2), text="version " + (globs.verstring_full), font='Helvetica 8', fill='white')
|
||||||
self.msg = self.mainCanvas.create_text((wwidth / 2), (wheight / 1.20), text='Booting up...', font='Helvetica 9', fill='white')
|
self.msg = self.mainCanvas.create_text((wwidth / 2), (wheight / 1.20), text=lang.all[globs.CNIRlang]["Booting up..."], font='Helvetica 9', fill='white')
|
||||||
|
|
||||||
#self.pBarZone = Frame(self.mainCanvas, width=wwidth, height=wheight/10)
|
#self.pBarZone = Frame(self.mainCanvas, width=wwidth, height=wheight/10)
|
||||||
self.update()
|
self.update()
|
||||||
@ -205,9 +208,8 @@ class LauncherWindow(Tk):
|
|||||||
self.iconbitmap('id-card.ico')
|
self.iconbitmap('id-card.ico')
|
||||||
logfile = logger.logCur
|
logfile = logger.logCur
|
||||||
logfile.printdbg('Launcher IHM successful')
|
logfile.printdbg('Launcher IHM successful')
|
||||||
self.protocol('WM_DELETE_WINDOW', lambda : self.destroy())
|
self.protocol('WM_DELETE_WINDOW', lambda : 0)
|
||||||
|
self.update()
|
||||||
self.update()
|
|
||||||
|
|
||||||
def printmsg(self, msg):
|
def printmsg(self, msg):
|
||||||
self.mainCanvas.itemconfigure(self.msg, text=(msg))
|
self.mainCanvas.itemconfigure(self.msg, text=(msg))
|
||||||
@ -230,7 +232,24 @@ class ResizeableCanvas(Canvas):
|
|||||||
self.height = event.height
|
self.height = event.height
|
||||||
# rescale all the objects tagged with the "all" tag
|
# rescale all the objects tagged with the "all" tag
|
||||||
self.scale("all",0,0,wscale,hscale)
|
self.scale("all",0,0,wscale,hscale)
|
||||||
|
|
||||||
|
def crashCNIR():
|
||||||
|
"""
|
||||||
|
last solution
|
||||||
|
"""
|
||||||
|
# Global handler
|
||||||
|
logfile = logger.logCur
|
||||||
|
# hide main window
|
||||||
|
root = Tk()
|
||||||
|
root.withdraw()
|
||||||
|
logfile.printerr("FATAL ERROR : see traceback below.\n{}".format(traceback.format_exc()))
|
||||||
|
showerror(lang.all[globs.CNIRlang]["CNIRevelator Fatal Eror"], lang.all[globs.CNIRlang]["CNIRevelator crashed because a fatal error occured. View log for more infos and please open an issue on Github"])
|
||||||
|
res = askquestion(lang.all[globs.CNIRlang]["CNIRevelator Fatal Eror"], lang.all[globs.CNIRlang]["Would you like to open an issue on Github to report this bug ?"])
|
||||||
|
if res == "yes":
|
||||||
|
webbrowser.open_new("https://github.com/neox95/CNIRevelator/issues")
|
||||||
|
root.destroy()
|
||||||
|
|
||||||
|
|
||||||
## Global Handler
|
## Global Handler
|
||||||
launcherWindowCur = LauncherWindow()
|
launcherWindowCur = LauncherWindow()
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user