diff --git a/Updater.py b/Updater.py index d5a29db..19ead15 100755 --- a/Updater.py +++ b/Updater.py @@ -5,34 +5,39 @@ from tkinter.messagebox import * import subprocess -file = None -def Install(): - ip = e.get() - print ("Installing ",file) - print ("At ip ", ip) +class Updater(Frame): + file = None - if file != None: - subprocess.call(["python", "espota.py", "-i", ip, "-f", file]) - else: - showerror("Error", "Select a firmware first") + def __init__(self, win, **kwargs): + Frame.__init__(self, win, **kwargs) + button_opt = {'fill': constants.BOTH, 'padx': 5, 'pady': 5} + Button(root, text='Select firmware', + command=self.askopenfile).pack(**button_opt) + self.ipEntry = Entry(root) + self.ipEntry.pack() + self.ipEntry.delete(0, END) + self.ipEntry.insert(0, "192.168.0.XX") -def askopenfile(): - global file - file = filedialog.askopenfilename(title='Select Firmware', filetypes=[('binaries', '*.bin')]) + Button(root, text='Install', command=self.install).pack(pady=20) + + def install(self): + ip = self.ipEntry.get() + print("Installing", self.file, "at ip", ip) + + if self.file != None: + subprocess.call(["python", "espota.py", "-i", ip, "-f", self.file]) + else: + showerror("Error", "Select a firmware first") + + def askopenfile(self): + self.file = filedialog.askopenfilename( + title='Select Firmware', filetypes=[('binaries', '*.bin')]) root = Tk() root.title("Firmware Updater") -button_opt = {'fill': constants.BOTH, 'padx': 5, 'pady': 5} -Button(root, text='Select firmware', command=askopenfile).pack(**button_opt) - -e = Entry(root) -e.pack() -e.delete(0, END) -e.insert(0, "192.168.0.XX") - -Button(root, text = 'Install', command = Install).pack(pady=20) - -root.mainloop() +updater = Updater(root) +updater.mainloop() +updater.destroy()