50 lines
1.5 KiB
Python
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) |