docker-android/cli/src/helper/__init__.py
2023-05-09 19:34:44 +02:00

57 lines
1.4 KiB
Python

import logging
import os
logger = logging.getLogger("helper")
def convert_str_to_bool(given_str: str) -> bool:
"""
Convert String to Boolean value
:param given_str: given string
:return: converted string in Boolean
"""
if given_str:
if type(given_str) is str:
return given_str.lower() in ("yes", "true", "t", "1")
else:
raise AttributeError
else:
logger.info(f"'{given_str}' is empty!")
return False
def get_env_value_or_raise(env_key: str) -> str:
"""
Get value of necessary environment variable.
:param env_key: given environment variable
:return: env_value in String
"""
try:
env_value = os.getenv(env_key)
if not env_value:
raise RuntimeError(f"'{env_key}' is missing.")
elif env_value.isspace():
raise RuntimeError(f"'{env_key}' contains only white space.")
return env_value
except TypeError as t_err:
logger.error(t_err)
def symlink_force(source: str, target: str) -> None:
"""
Create Symbolic link
:param source: source file
:param target: target file
:return: None
"""
try:
os.symlink(source, target)
except FileNotFoundError as ffe_err:
logger.error(ffe_err)
except FileExistsError:
os.remove(target)
os.symlink(source, target)