Josh b
3f56ee7a81
All checks were successful
Potlatch Loggers Organization/ComputerKeeper/pipeline/head This commit looks good
71 lines
2.1 KiB
Python
71 lines
2.1 KiB
Python
"""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()
|
|
|
|
|
|
|
|
|