Spaces:
Runtime error
Runtime error
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']) | |