mindsdb

Форк
0
/
config.py 
50 строк · 1.7 Кб
1
import os
2
import random
3
import json
4

5

6
def generate_random_db_name(base_name: str, min_value: int = 1000, max_value: int = 9999) -> str:
7
    """
8
    Generates a random database name by appending a random number to the base name.
9

10
    Args:
11
        base_name (str): The base name for the database.
12
        min_value (int, optional): The minimum value for the random number (inclusive). Defaults to 1000.
13
        max_value (int, optional): The maximum value for the random number (inclusive). Defaults to 9999.
14

15
    Returns:
16
        str: The generated database name.
17
    """
18
    random_number = random.randint(min_value, max_value)
19
    return f"{base_name}_{random_number}"
20

21

22
def get_value_from_json_env_var(env_var_name: str, key: str):
23
    """
24
    Retrieve a value from a JSON string stored in as an environment variable.
25

26
    Args:
27
        env_var_name (str): The name of the environment variable.
28
        key (str): The key in the JSON object to retrieve.
29

30
    Raises:
31
        EnvironmentError: If the environment variable is not set or is not a valid JSON string.
32
        KeyError: If the key doesn't exist in the parsed dictionary.
33

34
    Returns:
35
        The value associated with the provided key.
36
    """
37

38
    json_str = os.environ.get(env_var_name)
39

40
    if json_str is None:
41
        raise EnvironmentError(f'Environment variable {env_var_name} is not set.')
42

43
    try:
44
        parsed_dict = json.loads(json_str)
45
    except json.JSONDecodeError:
46
        raise EnvironmentError(f'Environment variable {env_var_name} is not a valid JSON string.')
47

48
    if key not in parsed_dict:
49
        raise KeyError(f"Key '{key}' not found in environment variable {env_var_name}")
50
    return parsed_dict[key]
51

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.