96 lines
3.3 KiB
Python
96 lines
3.3 KiB
Python
|
__author__ = 'tsouza'
|
||
|
import Tkinter as tk
|
||
|
import tkFileDialog
|
||
|
|
||
|
|
||
|
class AttributeGUI(tk.Tk):
|
||
|
def __init__(self):
|
||
|
tk.Tk.__init__(self)
|
||
|
self.initialize()
|
||
|
|
||
|
def initialize(self):
|
||
|
self.title('Attribution Report')
|
||
|
self.grid()
|
||
|
self.input_frame = self.setup_input_frame()
|
||
|
self.output_frame = self.setup_output_frame()
|
||
|
self.run_frame = self.setup_run_frame()
|
||
|
|
||
|
self.update()
|
||
|
self.resizable(True, False)
|
||
|
|
||
|
|
||
|
def setup_input_frame(self):
|
||
|
input_frame = tk.LabelFrame(text="Input Files")
|
||
|
input_frame.grid()
|
||
|
row = 0
|
||
|
input_frame.sf_button = tk.Button(input_frame, text=u"Browse", command=self.sf_click)
|
||
|
input_frame.sf_button.grid(column=0, row=row)
|
||
|
input_frame.sf_label_var = tk.StringVar()
|
||
|
input_frame.sf_label = tk.Label(input_frame,
|
||
|
textvariable=input_frame.sf_label_var,
|
||
|
anchor="w")
|
||
|
input_frame.sf_label.grid(column=1, row=row, sticky='nsew')
|
||
|
input_frame.sf_label_var.set(u"<salesforce export file...>")
|
||
|
|
||
|
row += 1
|
||
|
|
||
|
input_frame.dp_button = tk.Button(input_frame, text=u"Browse", command=self.dp_click)
|
||
|
input_frame.dp_button.grid(column=0, row=row)
|
||
|
input_frame.dp_label_var = tk.StringVar()
|
||
|
input_frame.dp_label = tk.Label(input_frame,
|
||
|
textvariable=input_frame.dp_label_var,
|
||
|
anchor="w")
|
||
|
input_frame.dp_label.grid(column=1, row=row, sticky='nsew')
|
||
|
input_frame.dp_label_var.set(u"<deposit export file...>")
|
||
|
input_frame.grid_columnconfigure(1, weight=1)
|
||
|
return input_frame
|
||
|
|
||
|
def sf_click(self):
|
||
|
f = tkFileDialog.askopenfilename()
|
||
|
self.input_frame.sf_label_var.set(f)
|
||
|
|
||
|
def dp_click(self):
|
||
|
f = tkFileDialog.askopenfilename()
|
||
|
self.input_frame.dp_label_var.set(f)
|
||
|
|
||
|
def setup_output_frame(self):
|
||
|
output_frame = tk.LabelFrame(text="Output Directory")
|
||
|
output_frame.grid()
|
||
|
|
||
|
row = 0
|
||
|
output_frame.output_button = tk.Button(output_frame, text=u"Browse", command=self.output_click)
|
||
|
output_frame.output_button.grid(column=0, row=row)
|
||
|
output_frame.output_label_var = tk.StringVar()
|
||
|
output_frame.sf_label = tk.Label(output_frame,
|
||
|
textvariable=output_frame.output_label_var,
|
||
|
anchor="w")
|
||
|
|
||
|
output_frame.sf_label.grid(column=1, row=row, sticky='nsew')
|
||
|
output_frame.output_label_var.set(u"<Output directory...>")
|
||
|
output_frame.grid_columnconfigure(0, weight=1)
|
||
|
return output_frame
|
||
|
|
||
|
def output_click(self):
|
||
|
f = tkFileDialog.askdirectory()
|
||
|
self.output_frame.output_label_var.set(f)
|
||
|
|
||
|
def setup_run_frame(self):
|
||
|
run_frame = tk.LabelFrame(text="Output Directory")
|
||
|
run_frame.grid()
|
||
|
row = 0
|
||
|
run_frame.run_button = tk.Button(run_frame, text=u"Run", command=self.run_click)
|
||
|
run_frame.run_button.grid(column=0, row=row)
|
||
|
run_frame.grid_columnconfigure(0, weight=1)
|
||
|
return run_frame
|
||
|
|
||
|
def run_click(self):
|
||
|
pass
|
||
|
|
||
|
|
||
|
def main():
|
||
|
app = AttributeGUI()
|
||
|
app.mainloop()
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
main()
|