How do I put a filesystem link and/or selectable text in the output Tkinter label?
Basically, I would like the user to be able to click on the folder that comes with the message "NO TRANSMITTAL", or at least copy and paste from the Tkinter window.
Also, I know this code can be much better looking, so please do not save any advices :):) Thanks in advance.
Code below.
import os
from tkinter import *
from tkinter import ttk
from tkinter import filedialog
gui = Tk()
gui.title("MY SCRIPT")
list_of_folders=[]
out_folders=[]
substring_transmittal="Transmittal"
current_folder=('')
substring_drawings_0='.pdf'
def getFolderPath():
folder_selected = filedialog.askdirectory()
folderPath.set(folder_selected)
def doStuff():
folder = folderPath.get()
final_print=("Checking for Transmittal in %s" %(folder))
for path, dirs, files in os.walk(folder):
list_of_folders.append(path)
for i in list_of_folders:
if '6_Out' in i:
out_folders.append(i)
else:
pass
for o in out_folders:
os.chdir(o)
current_folder=os.getcwd()
a=os.listdir(current_folder)
string_check_transmittal = list(filter(lambda x: substring_transmittal in x, a))
string_check_drawings_0 = list(filter(lambda x: substring_drawings_0 in x, a))
string_check_drawings_1 = list(filter(lambda x: substring_drawings_1 in x, a))
if string_check_transmittal:
out=str(current_folder[len(folder):])
final_print += "\n%s ---> Transmittal OK" %(out)
else:
if string_check_drawings_0:
if string_check_drawings_1:
out=str(current_folder[len(folder):])
final_print += "\n%s ------ NO TRANSMITTAL ------" %(out)
for i in a:
print(' ',i)
out=i
final_print += "\n %s" %(out)
else:
pass
else:
pass
string_check_drawings_0 = ''
string_check_drawings_1 = ''
display_text.config(text=(final_print))
folderPath = StringVar()
a = Label(gui ,text="Enter name")
a.grid(row=0,column = 0)
E = Entry(gui,textvariable=folderPath)
E.grid(row=0,column=1)
btnFind = ttk.Button(gui, text="Browse Folder",command=getFolderPath)
btnFind.grid(row=0,column=4)
c = ttk.Button(gui ,text="Check", command=doStuff)
c.grid(row=4,column=0)
d = ttk.Button(gui ,text="Exit", command=gui.destroy)
d.grid(row=4,column=4)
display_text=Label(gui, borderwidth=3, justify=LEFT)
display_text.grid(row=5,column=0,padx=5)
gui.mainloop()