――Je publierai également celui qui a échoué. ――Cette fois, j'ai nettoyé la partie principale de l'opération. --Je l'ai modifié pour faire fonctionner la pièce nouvellement enregistrée à partir du menu en haut. --Menu> Vous pouvez maintenant fermer.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import tkinter as tk
import pyotp
import sqlite3
import os
import pyautogui
import sys
def create_table():
    #Connectez-vous à la base de données
    conn = sqlite3.connect('gauth.db')
    c = conn.cursor()
    #Créer une table
    sql='''CREATE TABLE gauth
    (id integer primary key AUTOINCREMENT,
     name text,
     private_key text)'''
    c.execute(sql)
    #Enregistrer (valider) le résultat inséré
    conn.commit()
    #Fermer lorsque vous avez fini d'accéder à la base de données
    conn.close()
def view():
    #Connectez-vous à la base de données
    conn = sqlite3.connect('gauth.db')
    c = conn.cursor()
    for a in c.execute("select * from gauth"):
        totp = pyotp.TOTP(a[2])  #Valeur clé
        totp.now()
        #Afficher l'étiquette
        Static1 = tk.Label(text=a[1])
        Static1.pack(side='left')
        Static2 = tk.Label(text=totp.now())
        Static2.pack(side='left')
    #Enregistrer (valider) le résultat inséré
    conn.commit()
    #Fermer lorsque vous avez fini d'accéder à la base de données
    conn.close()
def insert(id,username,private_key):
    #Connectez-vous à la base de données
    conn = sqlite3.connect('gauth.db')
    c = conn.cursor()
    #Insérer des données
    c.execute(
        "INSERT INTO gauth VALUES (?,?,?)",(id,username,private_key))
    #Enregistrer (valider) le résultat inséré
    conn.commit()
    #Fermer lorsque vous avez fini d'accéder à la base de données
    conn.close()
def window_menu():
    #barre de menu
    menubar = tk.Menu(root)
    filemenu = tk.Menu(menubar)
    filemenu.add_command(label="s'inscrire", command=new)
    filemenu.add_command(label="Supprimer l'enregistrement")
    filemenu.add_command(label="Fermer", command=close)
    menubar.add_cascade(label="Fichier", menu=filemenu)
    root.config(menu=menubar)
def new():
    pyautogui.prompt(text='user_name', title='user_name' , default='')
    pyautogui.prompt(text='private_key', title='private_key' , default='')
    #insert(user_name,private_key)
def close():
    sys.exit()
#Créer une fenêtre et un titre avec tkinter
#Spécifiez la taille de la fenêtre
root = tk.Tk()
root.title(u"g_authentication_tool")
root.geometry("300x200")
window_menu()
if(os.path.exists('gauth.db')):
    view()
else:
    create_table()
    #insert(1,"user1",'base32secret3232')
    view()
root.mainloop()
Recommended Posts