"""This is the main function""" from copy import deepcopy import PySimpleGUI as sg from tinydb import TinyDB, Query # Define the window's contents layout = [[sg.Menu([['File', ['Open', 'Save', 'Add Computer',]]])], [sg.Table([["word","Yes"]],["Serial Number","Brand","Grade","Name"],key = "table")], [sg.Text("Serial Number")], [sg.Input(key='Serial Number')], [sg.Text("Brand")], [sg.Input(key='Brand')], [sg.Text("Grade")], [sg.Input(key='Grade')], [sg.Text("Name")], [sg.Input(key='Name')], [sg.Text(size=(40,1), key='OUTPUT')], [sg.Button('Check In'), sg.Button('Check Out')]] add_computer_layout = [[sg.Text("Serial Number")], [sg.Input(key='Serial Number')], [sg.Text("Brand")], [sg.Input(key='Brand')], [sg.Text("Grade")], [sg.Input(key='Grade')], [sg.Text("Name")], [sg.Input(key='Name')], [sg.Button('Add Computer'),]] def add_computer(): window = sg.Window('Add Computer', deepcopy(add_computer_layout)) while True: event, values = window.read() if event == sg.WINDOW_CLOSED or event == 'Add Computer': break # Finish up by removing from the screen window.close() return values def main(): """Core of ComputerKeeper - The Main Application.""" db= TinyDB("./db.json") # Create the window window = sg.Window('Window Title', layout) # Display and interact with the Window using an Event Loop while True: event, values = window.read() # See if user wants to quit or window was closed if event == sg.WINDOW_CLOSED or event == 'Quit': break if event == 'Add Computer': new_computer = add_computer() existing_table = window["table"].get() existing_table.append( list(new_computer.values())) window["table"].update(existing_table) db.insert(new_computer) # Finish up by removing from the screen window.close() if __name__ == "__main__": main()