| | 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}") |