6
def generate_random_db_name(base_name: str, min_value: int = 1000, max_value: int = 9999) -> str:
8
Generates a random database name by appending a random number to the base name.
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.
16
str: The generated database name.
18
random_number = random.randint(min_value, max_value)
19
return f"{base_name}_{random_number}"
22
def get_value_from_json_env_var(env_var_name: str, key: str):
24
Retrieve a value from a JSON string stored in as an environment variable.
27
env_var_name (str): The name of the environment variable.
28
key (str): The key in the JSON object to retrieve.
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.
35
The value associated with the provided key.
38
json_str = os.environ.get(env_var_name)
41
raise EnvironmentError(f'Environment variable {env_var_name} is not set.')
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.')
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]