mash/main.py
2024-07-03 14:35:50 +10:00

61 lines
2.3 KiB
Python
Executable File

#!/usr/bin/python
import os
import subprocess
import re
initDirectory = os.path.dirname(os.path.realpath(__file__))
currentDirectory = initDirectory
version = "0.0.1"
user = os.getlogin()
print("Welcome to Mash, " + user + "! Mash is currently on version " + version)
def grabArgument(fullCommand, commandRan):
fullCommand.replace(commandRan, "")
try:
while True:
command = input(currentDirectory + " > ")
if command == "pwd":
print(currentDirectory)
if command == "exit":
exit()
if command == "cd":
try:
cdDirectory = input("Directory: ")
if cdDirectory[0] == "/":
if os.path.isdir(cdDirectory) == False:
if os.path.isfile(cdDirectory) == True:
print("That's not a directory, that's a file!")
else:
print("That directory doesn't exist.")
else:
currentDirectory = cdDirectory
else:
if os.path.isdir(currentDirectory + cdDirectory) == False:
if os.path.isfile(currentDirectory + cdDirectory) == True:
print("That's not a directory, that's a file!")
else:
print("That directory doesn't exist.")
else:
currentDirectory = cdDirectory
except Exception:
print("Either there was an error or that file doesn't exist.")
elif command == ("cat"):
try:
catFile = input("File to catalog: ")
catFileOpened = open(catFile)
print(catFileOpened.read())
except Exception:
print("File", catFile, "either doesn't exist or isn't in this directory.")
elif command == "version":
print(version)
else:
try:
subprocess.run(command)
except Exception:
print("Command", command, "either doesn't exist, isn't in the path or isn't in this directory.")
except Exception:
print("Looks like there was an error. Exiting...")
except KeyboardInterrupt:
print(" detected! Exiting...")