newdwh2021/ecs/jskult-batch/src/batch/environment/jskult_batch_environment.py

27 lines
987 B
Python

import abc
from src.error.exceptions import EnvironmentVariableNotSetException
class JskultBatchEnvironment(metaclass=abc.ABCMeta):
"""実消化&アルトマークのバッチ処理で使用する環境変数を管理するクラス"""
@abc.abstractmethod
def validate(self):
"""
必須の環境変数が設定されているかどうか検査する。
DB関連の環境変数は対象外とする。
"""
pass
def _assert_variable_not_empty(self, variable: str, variable_name: str):
if variable is None:
raise EnvironmentVariableNotSetException(
f'環境変数[{variable_name}]が設定されていません。')
def _assert_variable_is_int(self, variable: str, variable_name: str):
try:
int(variable)
except ValueError:
raise EnvironmentVariableNotSetException(
f'環境変数[{variable_name}]が整数ではありません。')