| import shutil |
| import subprocess |
| import os |
| import json |
| import pytz |
| import random |
| from datetime import datetime |
| from PIL import Image |
|
|
|
|
| def execute_terminal_command(command: str): |
| try: |
| process = subprocess.Popen( |
| command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE |
| ) |
| output, error = process.communicate() |
| output = str(output.decode("utf-8")) |
| print(rf"Command executed successfully: {command}") |
| return output |
| except Exception as e: |
| return None, str(e) |
|
|
|
|
| def correct_path(path: str): |
| return path[1:] if path.startswith("\\") else path |
|
|
|
|
| def write_file(data_list: list, file_path: str, file_name: str = ""): |
| if len(file_name) > 0: |
| file_path = rf"{file_path}\{file_name}" |
|
|
| |
| with open(file_path, "w") as file: |
| json.dump(data_list, file) |
|
|
|
|
| def read_file(file_path: str): |
| with open(file_path, 'r') as file: |
| data = json.load(file) |
| return data |
|
|
|
|
| def copy_file(source_path: str, destination_path: str): |
| try: |
| shutil.copyfile(source_path, destination_path) |
| except Exception as e: |
| print(rf"Failed to copy {source_path} to {destination_path}") |
| raise e |
|
|
|
|
| def read_image(image_path: str): |
| try: |
| image = Image.open(image_path) |
| return image |
| except IOError: |
| print("Unable to load image") |
| return None |
|
|
|
|
| def get_current_time(): |
| |
| current_datetime_utc = datetime.now(pytz.utc) |
| |
| egypt_timezone = pytz.timezone("Africa/Cairo") |
| current_datetime_local = current_datetime_utc.astimezone(egypt_timezone) |
|
|
| return str(current_datetime_local.strftime("%Y-%m-%d %H:%M:%S %Z")) |
|
|
|
|
| def get_random_str(sz: int): |
| result: str = "" |
| while len(result) < sz: |
| result += str(random.randint(0, 9)) |
|
|
| return result |
|
|
|
|
| def create_folder(path: str, Replace_if_exist = True): |
| try: |
| if Replace_if_exist and os.path.exists(path): |
| shutil.rmtree(path) |
|
|
| os.makedirs(path, exist_ok=False) |
| print(f"Folder '{path}' created successfully.") |
| except Exception as e: |
| print(f"Failed to create folder '{path}'. Error: {e}") |