AmirMoris's picture
Feat: multiple parameters to optimzie the model
c93cbfc
raw
history blame
2.26 kB
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}"
# Writing JSON data
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():
# Get the current datetime in UTC timezone
current_datetime_utc = datetime.now(pytz.utc)
# Convert UTC datetime to Egypt timezone
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}")