Skip to content

Commit 92b8be6

Browse files
authored
Revert #19
Revert "feat: Use argparse instead sys.argv[..]"
2 parents d6ef479 + 53bb8aa commit 92b8be6

File tree

1 file changed

+13
-44
lines changed

1 file changed

+13
-44
lines changed

tkreload/main.py

Lines changed: 13 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import os
55
import select
66
import platform
7-
import argparse
87
from rich.console import Console
98
from watchdog.observers import Observer
109
from .app_event_handler import AppFileEventHandler
@@ -17,7 +16,6 @@
1716
if platform.system() == "Windows":
1817
import msvcrt
1918

20-
2119
class TkreloadApp:
2220
"""Main application class for managing the Tkinter app."""
2321

@@ -41,23 +39,17 @@ def monitor_file_changes(self, on_reload):
4139
self.observer.stop()
4240
self.observer.join()
4341

44-
event_handler = AppFileEventHandler(
45-
on_reload, self.app_file, self.auto_reload_manager
46-
)
42+
event_handler = AppFileEventHandler(on_reload, self.app_file, self.auto_reload_manager)
4743
self.observer = Observer()
48-
self.observer.schedule(
49-
event_handler, path=os.path.dirname(self.app_file) or ".", recursive=False
50-
)
44+
self.observer.schedule(event_handler, path=os.path.dirname(self.app_file) or '.', recursive=False)
5145
self.observer.start()
5246
return self.observer
5347

5448
def restart_app(self):
5549
"""Restarts the Tkinter app."""
5650
if self.process:
5751
self.reload_count += 1
58-
self.console.log(
59-
f"[bold yellow]Restarting the Tkinter app... (x{self.reload_count})[/bold yellow]"
60-
)
52+
self.console.log(f"[bold yellow]Restarting the Tkinter app... (x{self.reload_count})[/bold yellow]")
6153
self.process.terminate()
6254
self.process.wait()
6355
time.sleep(1)
@@ -69,27 +61,17 @@ def start(self):
6961
self.monitor_file_changes(self.restart_app)
7062

7163
try:
72-
self.console.print(
73-
"\n\n\t[bold cyan]Tkreload[/bold cyan] [bold blue]is running ✅\n\t[/bold blue]- Press [bold cyan]H[/bold cyan] for help,\n\t[bold cyan]- R[/bold cyan] to restart,\n\t[bold cyan]- A[/bold cyan] to toggle auto-reload (currently [bold magenta]{}[/bold magenta]),\n\t[bold red]- Ctrl + C[/bold red] to exit.".format(
74-
"Disabled"
75-
if not self.auto_reload_manager.get_status()
76-
else "Enabled"
77-
)
78-
)
64+
self.console.print("\n\n\t[bold cyan]Tkreload[/bold cyan] [bold blue]is running ✅\n\t[/bold blue]- Press [bold cyan]H[/bold cyan] for help,\n\t[bold cyan]- R[/bold cyan] to restart,\n\t[bold cyan]- A[/bold cyan] to toggle auto-reload (currently [bold magenta]{}[/bold magenta]),\n\t[bold red]- Ctrl + C[/bold red] to exit.".format("Disabled" if not self.auto_reload_manager.get_status() else "Enabled"))
7965

8066
while True:
8167
if platform.system() == "Windows":
8268
if msvcrt.kbhit(): # Check for keyboard input (Windows only)
83-
user_input = (
84-
msvcrt.getch().decode("utf-8").lower()
85-
) # Read single character input
69+
user_input = msvcrt.getch().decode('utf-8').lower() # Read single character input
8670
self.handle_input(user_input)
8771
else:
8872
# Use select for Unix-like systems
8973
if sys.stdin in select.select([sys.stdin], [], [], 0)[0]:
90-
user_input = sys.stdin.read(
91-
1
92-
).lower() # Capture a single character input
74+
user_input = sys.stdin.read(1).lower() # Capture a single character input
9375
self.handle_input(user_input)
9476

9577
time.sleep(0.1)
@@ -103,13 +85,11 @@ def start(self):
10385

10486
def handle_input(self, user_input):
10587
"""Handles the user input commands."""
106-
if user_input == "h":
107-
show_help(
108-
"Enabled" if self.auto_reload_manager.get_status() else "Disabled"
109-
)
110-
elif user_input == "r":
88+
if user_input == 'h':
89+
show_help("Enabled" if self.auto_reload_manager.get_status() else "Disabled")
90+
elif user_input == 'r':
11191
self.restart_app()
112-
elif user_input == "a":
92+
elif user_input == 'a':
11393
self.toggle_auto_reload()
11494

11595
def toggle_auto_reload(self):
@@ -119,31 +99,20 @@ def toggle_auto_reload(self):
11999
self.reload_count = 0
120100
status = "Enabled" if self.auto_reload_manager.get_status() else "Disabled"
121101

122-
123102
def main():
124-
parser = argparse.ArgumentParser(
125-
description="Real-time reload Tkinter app",
126-
formatter_class=argparse.RawDescriptionHelpFormatter,
127-
)
128-
parser.add_argument("app_file", help="Tkinter app file path")
129-
130-
args = parser.parse_args()
131-
132-
app_file = args.app_file
133-
134-
if not app_file:
135-
parser.print_help()
103+
if len(sys.argv) < 2:
136104
Console().print("[bold red]Error: No Tkinter app file provided![/bold red]")
137105
sys.exit(1)
138106

107+
app_file = sys.argv[1]
108+
139109
if not file_exists(app_file):
140110
Console().print(f"[bold red]Error: File '{app_file}' not found![/bold red]")
141111
sys.exit(1)
142112

143113
tkreload_app = TkreloadApp(app_file)
144114
tkreload_app.start()
145115

146-
147116
if __name__ == "__main__":
148117
clear_terminal()
149118
main()

0 commit comments

Comments
 (0)