Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os
- import tkinter as tk
- from tkinter import messagebox, Label, Entry, Button
- def open_folder(folder_path, drive):
- if os.path.exists(folder_path):
- os.startfile(folder_path)
- else:
- messagebox.showerror("Error", f"{drive} Folder Not Found: {folder_path}")
- def process_input(event=None): # Add 'event' as an optional parameter
- input_str = folder_input.get()
- parts = input_str.split()
- if len(parts) == 1 and parts[0].isdigit():
- folder_number = int(parts[0])
- open_folder_j(folder_number)
- open_folder_n(folder_number)
- elif len(parts) == 2 and parts[0].upper() in ['J', 'N'] and parts[1].isdigit():
- drive = parts[0].upper()
- folder_number = int(parts[1])
- if drive == 'J':
- open_folder_j(folder_number)
- elif drive == 'N':
- open_folder_n(folder_number)
- else:
- messagebox.showerror("Error", "Invalid input format. Use format 'Drive Letter Space FolderNumber'")
- def open_folder_j(folder_number):
- if 1 <= folder_number <= 999:
- parent_dir = "001-999"
- else:
- parent_dir = f"{folder_number // 1000:02}000"
- folder_path = f"J:/{parent_dir}/{folder_number}"
- open_folder(folder_path, "J")
- def open_folder_n(folder_number):
- parent_num = folder_number // 1000 * 1000
- if folder_number % 1000 <= 249:
- sub_folder = "a"
- elif folder_number % 1000 <= 499:
- sub_folder = "b"
- elif folder_number % 1000 <= 749:
- sub_folder = "c"
- else:
- sub_folder = "d"
- folder_path = f"N:/Land Projects {parent_num}{sub_folder}/{folder_number}"
- open_folder(folder_path, "N")
- if __name__ == "__main__":
- root = tk.Tk()
- root.title("Folder Opener")
- root.geometry("400x300")
- instruction_text = "Enter drive letter (j/n) followed by the folder number (e.g., j 22500). Typing just the folder number will open both."
- instruction_label = Label(root, text=instruction_text, wraplength=380, justify="left")
- instruction_label.pack(pady=(10,0))
- folder_input = Entry(root)
- folder_input.pack(pady=(5,5))
- folder_input.bind("<Return>", process_input) # Bind Enter key to process_input
- open_button = Button(root, text="Open Folder", command=process_input)
- open_button.pack(pady=(5,10))
- folder_input.focus_set()
- root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement