26 lines
804 B
Python
26 lines
804 B
Python
def prompt_choice(prompt: str, options: list) -> int:
|
|
print(prompt)
|
|
for i, opt in enumerate(options, 1):
|
|
print(f" {i}. {opt}")
|
|
|
|
while True:
|
|
try:
|
|
s = input(f"Enter choice (1-{len(options)}): ").strip()
|
|
idx = int(s) - 1
|
|
if 0 <= idx < len(options):
|
|
return idx
|
|
except Exception:
|
|
pass
|
|
print(f"Invalid. Enter a number between 1-{len(options)}.")
|
|
|
|
def prompt_confirmation(question: str, default="y"):
|
|
s = input(f"{question} (y/n) [{default}]: ").strip().lower()
|
|
if not s:
|
|
s = default
|
|
return s.startswith("y")
|
|
|
|
def search_programs():
|
|
base = Path(__file__).parent / "triplaprograms"
|
|
if not base.exists():
|
|
return []
|
|
return sorted([f for f in base.glob("*.tripla")]) |