Spaces:
Runtime error
Runtime error
| import os | |
| import json | |
| from dotenv import load_dotenv | |
| load_dotenv() | |
| def get_json_from_env_var(env_var_name): | |
| """ | |
| νκ²½ λ³μμμ JSON λ°μ΄ν°λ₯Ό κ°μ Έμ λμ λλ¦¬λ‘ λ³ννλ ν¨μ. | |
| :param env_var_name: νκ²½ λ³μ μ΄λ¦ | |
| :return: λμ λ리 ννμ JSON λ°μ΄ν° | |
| """ | |
| json_string = os.getenv(env_var_name) | |
| if not json_string: | |
| raise EnvironmentError(f"νκ²½ λ³μ '{env_var_name}'κ° μ€μ λμ§ μμμ΅λλ€.") | |
| try: | |
| # μ€λ°κΏ(\n)μ μ΄μ€μΌμ΄ν λ¬Έμ(\\n)λ‘ λ³ν | |
| json_string = json_string.replace("\n", "\\n") | |
| # JSON λ¬Έμμ΄μ λμ λλ¦¬λ‘ λ³ν | |
| json_data = json.loads(json_string) | |
| except json.JSONDecodeError as e: | |
| raise ValueError(f"JSON λ³ν μ€ν¨: {e}") | |
| return json_data | |
| def json_to_env_var(json_file_path, env_var_name="JSON_ENV_VAR"): | |
| """ | |
| μ£Όμ΄μ§ JSON νμΌμ λ°μ΄ν°λ₯Ό νκ²½ λ³μ ννλ‘ λ³ννμ¬ μΆλ ₯νλ ν¨μ. | |
| :param json_file_path: JSON νμΌ κ²½λ‘ | |
| :param env_var_name: νκ²½ λ³μ μ΄λ¦ (κΈ°λ³Έκ°: JSON_ENV_VAR) | |
| :return: None | |
| """ | |
| try: | |
| # JSON νμΌ μ½κΈ° | |
| with open(json_file_path, 'r') as json_file: | |
| json_data = json.load(json_file) | |
| # JSON λ°μ΄ν°λ₯Ό λ¬Έμμ΄λ‘ λ³ν | |
| json_string = json.dumps(json_data) | |
| # νκ²½ λ³μ ννλ‘ μΆλ ₯ | |
| env_variable = f'{env_var_name}={json_string}' | |
| print("\nνκ²½ λ³μλ‘ μ¬μ©ν μ μλ μΆλ ₯κ°:\n") | |
| print(env_variable) | |
| print("\nμ κ°μ .env νμΌμ 볡μ¬νμ¬ λΆμ¬λ£μΌμΈμ.") | |
| except FileNotFoundError: | |
| print(f"νμΌμ μ°Ύμ μ μμ΅λλ€: {json_file_path}") | |
| except json.JSONDecodeError: | |
| print(f"μ ν¨ν JSON νμΌμ΄ μλλλ€: {json_file_path}") | |