Updater: refact as a class

This commit is contained in:
Mathieu Maret 2016-09-21 23:48:18 +02:00
parent ed0364eb7a
commit 238b26067e

View File

@ -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()