Files
BUGPy-mOS-0/bugpy-mos-0.py

50 lines
1.5 KiB
Python

# BUGS-Python Mock Operating System Version 0 "Devvie"
from scripts.list_files import list_files
from scripts.say_greeting import say_greeting
from pathlib import Path
# Shitty test
# list_files.main()
def get_config_line(keyword):
# 1. Find the project root relative to this script
# Adjust the number of .parent calls based on where this function lives!
# If this is in main.py, it's just Path(__file__).parent
base_dir = Path(__file__).resolve().parent
config_file = base_dir / "config" / "pointerfile.txt"
if not config_file.exists():
return f"Error: {config_file} not found."
# 2. Open and search
with config_file.open("r") as f:
for line in f:
# .strip() removes whitespace/newlines
if line.strip().startswith(keyword):
parsed = line.strip().split(": ")
return [parsed[0], parsed[1]]
return None # Return None if keyword isn't found
def match_command(command):
if command == "list_files":
list_files.main()
elif command == "say_greeting":
say_greeting.main()
# use if else if else if else if to match the output
def cmdrun(keyword):
get_config_result = get_config_line(keyword)
if not get_config_result == None:
match_command(get_config_result[1])
else:
return False
print(get_config_line("dir"))
if __name__ == "__main__":
print("BUGPy-mOS 0 \"Devvie\"")
while True:
inputs = input("BUGS > ")
cmdrun(inputs)