Shorts / shortGPT /config /config.py
HashScripts's picture
Upload 167 files
b293d47 verified
import yaml
import os
from dotenv import load_dotenv
load_dotenv()
ELEVEN_LABS_KEY = os.getenv('ELEVEN_LABS_API_KEY')
OPENAI_KEY = os.getenv('OPENAI_API_KEY')
PLAY_HT_USERID = os.getenv('PLAY_HT_USERID')
PLAY_HT_API_KEY = os.getenv('PLAY_HT_API_KEY')
def read_yaml_config(file_path: str) -> dict:
"""Reads and returns the contents of a YAML file as dictionary"""
with open(file_path, 'r') as file:
contents = yaml.safe_load(file)
return contents
def write_yaml_config(file_path: str, data: dict):
"""Writes a dictionary to a YAML file"""
with open(file_path, 'w') as file:
yaml.dump(data, file)
def load_editing_assets() -> dict:
"""Loads all local assets from the static-assets folder specified in the yaml_config"""
yaml_config = read_yaml_config("public.yaml")
if yaml_config['local-assets'] == None:
yaml_config['local-assets'] = {}
# Create a copy of the dictionary before iterating over it
local_paths = []
if yaml_config['local-assets'] != {}:
local_assets = yaml_config['local-assets'].copy()
# Removing local paths that don't exist
for key in local_assets:
asset = local_assets[key]
if(type(asset) == str):
filePath = local_assets[key]
else:
filePath = local_assets[key]['path']
if not os.path.exists(filePath):
del yaml_config['local-assets'][key]
else:
local_paths.append(filePath)
folder_path = 'public'
for foldername, subfolders, filenames in os.walk(folder_path):
for filename in filenames:
file_path = os.path.join(foldername, filename).replace("\\", "/")
if not file_path in local_paths:
yaml_config['local-assets'][filename] = file_path
write_yaml_config("public.yaml", yaml_config)
return yaml_config
# print(load_editing_assets())
# print(read_yaml_config("editing_assets.yaml")['local-assets'])