diff --git a/packages/builtin.py b/packages/builtin.py index 79f2a13..a666f9a 100644 --- a/packages/builtin.py +++ b/packages/builtin.py @@ -1,133 +1,133 @@ -#["builtin", "packages.builtin", ["echo", "ls", "rm", "clear", "cd", "ll"]] -import os -import stat - -if os.name != 'nt': - import pwd - import grp -import time - - - - -def echo(message: list) -> int: - try: - print(" ".join(message)) - except: - return - -def ls(args): - del args - - - pass - -def rm(files: list): - for file in files: - os.remove(file) - -def clear(args): - del args - os.system('cls' if os.name == 'nt' else 'clear') - - - -def cd(args): - if len(args) == 0 or args[0] == "~": - new_path = os.path.expanduser("~") # Get the home directory path - elif len(args) == 1: - new_path = os.path.abspath(args[0]) # Get the absolute path - else: - print("Usage: cd or cd ~") - return - - try: - os.chdir(new_path) # Change the current working directory - except FileNotFoundError: - print("Directory not found.") - except Exception as e: - print(f"An error occurred: {e}") - - - -def ls(args): - del args # You can remove this line if you're not using args - - blue_color = '\033[34m' - green_color = '\033[32m' - white_color = '\033[37m' - reset_color = '\033[0m' - - dir_path = os.getcwd() - try: - with os.scandir(dir_path) as entries: - for entry in entries: - if not entry.name.startswith('.'): - file_path = os.path.join(dir_path, entry.name) - file_stat = os.stat(file_path) - if stat.S_ISDIR(file_stat.st_mode): - print(blue_color + entry.name + '/' + reset_color, end=' ') - elif file_stat.st_mode & stat.S_IXUSR: - print(green_color + entry.name + '*' + reset_color, end=' ') - else: - print(white_color + entry.name + reset_color, end=' ') - print() # Newline after listing - except Exception as e: - print(f"An error occurred: {e}") - - -def ll(args): - if os.name != 'nt': - print("This command only works for linux") - return - dir_path = os.getcwd() - - green_color = '\033[32m' - blue_color = '\033[34m' - whiteColor = '\033[37m' - orange_color = '\033[33m' - reset_color = '\033[0m' - - try: - with os.scandir(dir_path) as entries: - for entry in entries: - file_stat = entry.stat() - file_name = entry.name - - if os.name != 'nt': - pw = pwd.getpwuid(file_stat.st_uid) - gr = grp.getgrgid(file_stat.st_gid) - - is_hidden = (file_name and file_name[0] == '.') - - time_str = time.ctime(file_stat.st_mtime) - if time_str.endswith('\n'): - time_str = time_str[:-1] # Remove newline character - - permission_str = ( - (green_color + "r" if file_stat.st_mode & stat.S_IRUSR else whiteColor + "-") + - (blue_color + "w" if file_stat.st_mode & stat.S_IWUSR else whiteColor + "-") + - ((orange_color if is_hidden else green_color) + "x" if file_stat.st_mode & stat.S_IXUSR else whiteColor + "-") + - (green_color + "r" if file_stat.st_mode & stat.S_IRGRP else whiteColor + "-") + - (blue_color + "w" if file_stat.st_mode & stat.S_IWGRP else whiteColor + "-") + - ((orange_color if is_hidden else green_color) + "x" if file_stat.st_mode & stat.S_IXGRP else whiteColor + "-") + - (green_color + "r" if file_stat.st_mode & stat.S_IROTH else whiteColor + "-") + - (blue_color + "w" if file_stat.st_mode & stat.S_IWOTH else whiteColor + "-") + - ((orange_color if is_hidden else green_color) + "x" if file_stat.st_mode & stat.S_IXOTH else whiteColor + "-") - ) - - print( - "{:<11}{:>4} {:<8} {:<8} {:>8} {} {}{}".format( - permission_str, - file_stat.st_nlink, - pw.pw_name, - gr.gr_name, - file_stat.st_size, - time_str, - (blue_color if entry.is_dir() else (orange_color if is_hidden else green_color) if file_stat.st_mode & stat.S_IXUSR else whiteColor), - file_name, - reset_color - ) - ) - except Exception as e: - print(f"An error occurred: {e}") +#["builtin", "packages.builtin", ["echo", "ls", "rm", "clear", "cd", "ll"]] +import os +import stat + +if os.name != 'nt': + import pwd + import grp +import time + + + + +def echo(message: list) -> int: + try: + print(" ".join(message)) + except: + return + +def ls(args): + del args + + + pass + +def rm(files: list): + for file in files: + os.remove(file) + +def clear(args): + del args + os.system('cls' if os.name == 'nt' else 'clear') + + + +def cd(args): + if len(args) == 0 or args[0] == "~": + new_path = os.path.expanduser("~") # Get the home directory path + elif len(args) == 1: + new_path = os.path.abspath(args[0]) # Get the absolute path + else: + print("Usage: cd or cd ~") + return + + try: + os.chdir(new_path) # Change the current working directory + except FileNotFoundError: + print("Directory not found.") + except Exception as e: + print(f"An error occurred: {e}") + + + +def ls(args): + del args # You can remove this line if you're not using args + + blue_color = '\033[34m' + green_color = '\033[32m' + white_color = '\033[37m' + reset_color = '\033[0m' + + dir_path = os.getcwd() + try: + with os.scandir(dir_path) as entries: + for entry in entries: + if not entry.name.startswith('.'): + file_path = os.path.join(dir_path, entry.name) + file_stat = os.stat(file_path) + if stat.S_ISDIR(file_stat.st_mode): + print(blue_color + entry.name + '/' + reset_color, end=' ') + elif file_stat.st_mode & stat.S_IXUSR: + print(green_color + entry.name + '*' + reset_color, end=' ') + else: + print(white_color + entry.name + reset_color, end=' ') + print() # Newline after listing + except Exception as e: + print(f"An error occurred: {e}") + + +def ll(args): + if os.name != 'nt': + print("This command only works for linux") + return + dir_path = os.getcwd() + + green_color = '\033[32m' + blue_color = '\033[34m' + whiteColor = '\033[37m' + orange_color = '\033[33m' + reset_color = '\033[0m' + + try: + with os.scandir(dir_path) as entries: + for entry in entries: + file_stat = entry.stat() + file_name = entry.name + + if os.name != 'nt': + pw = pwd.getpwuid(file_stat.st_uid) + gr = grp.getgrgid(file_stat.st_gid) + + is_hidden = (file_name and file_name[0] == '.') + + time_str = time.ctime(file_stat.st_mtime) + if time_str.endswith('\n'): + time_str = time_str[:-1] # Remove newline character + + permission_str = ( + (green_color + "r" if file_stat.st_mode & stat.S_IRUSR else whiteColor + "-") + + (blue_color + "w" if file_stat.st_mode & stat.S_IWUSR else whiteColor + "-") + + ((orange_color if is_hidden else green_color) + "x" if file_stat.st_mode & stat.S_IXUSR else whiteColor + "-") + + (green_color + "r" if file_stat.st_mode & stat.S_IRGRP else whiteColor + "-") + + (blue_color + "w" if file_stat.st_mode & stat.S_IWGRP else whiteColor + "-") + + ((orange_color if is_hidden else green_color) + "x" if file_stat.st_mode & stat.S_IXGRP else whiteColor + "-") + + (green_color + "r" if file_stat.st_mode & stat.S_IROTH else whiteColor + "-") + + (blue_color + "w" if file_stat.st_mode & stat.S_IWOTH else whiteColor + "-") + + ((orange_color if is_hidden else green_color) + "x" if file_stat.st_mode & stat.S_IXOTH else whiteColor + "-") + ) + + print( + "{:<11}{:>4} {:<8} {:<8} {:>8} {} {}{}".format( + permission_str, + file_stat.st_nlink, + pw.pw_name, + gr.gr_name, + file_stat.st_size, + time_str, + (blue_color if entry.is_dir() else (orange_color if is_hidden else green_color) if file_stat.st_mode & stat.S_IXUSR else whiteColor), + file_name, + reset_color + ) + ) + except Exception as e: + print(f"An error occurred: {e}") diff --git a/packages/update.py b/packages/update.py index eb8c83a..0b1fc8c 100644 --- a/packages/update.py +++ b/packages/update.py @@ -4,23 +4,18 @@ import os, sys, requests, threading, time fileList = [ "https://raw.githubusercontent.com/OusmBlueNinja/TermPY/main/packages/builtin.py", - "https://raw.githubusercontent.com/OusmBlueNinja/TermPY/main/packages/echo.py", "https://raw.githubusercontent.com/OusmBlueNinja/TermPY/main/packages/nano.py", "https://raw.githubusercontent.com/OusmBlueNinja/TermPY/main/packages/netget.py", "https://raw.githubusercontent.com/OusmBlueNinja/TermPY/main/packages/pip.py", - "https://raw.githubusercontent.com/OusmBlueNinja/TermPY/main/packages/upd.py" + "https://raw.githubusercontent.com/OusmBlueNinja/TermPY/main/packages/update.py" ] def download_and_save(url): r = requests.get(url) - print(r) - if 'Requests:' in r.text: - - print(r.text) - print(r.headers['Content-Type']) - fileInstallingCreator = os.path.join(os.path.dirname(os.path.realpath(__file__)), os.path.basename(url)) - with open(fileInstallingCreator, "w") as newFile: - newFile.write(r.text) + #print(r.text) + fileInstallingCreator = os.path.join(os.path.dirname(os.path.realpath(__file__)), os.path.basename(url)) + with open(fileInstallingCreator, "w") as newFile: + newFile.write(r.text) def upd(command): input(f"Settings: {fileList}, {os.path.dirname(os.path.realpath(__file__))}\nPress enter to continue")