# 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)