21просмотров
10 мая 2023 г.
Score: 23
Как повысить надёжность этого кода: soar_api = SOARAPI("$<api_proto>", "$<api_ip>", "$<api_port>", "#<token>", "$<api_system>") Если у нас в "$<api_system>" ничего не будет, значит это пустая строка "", что, как мне кажется, приведёт к ошибке создания объекта. Можно воспользоваться функцией-фабрикой и аргументами с дефолтным значением и контроллировать, какие аргументы ты передаёшь: # т.к. не знаю API, то подставляю значения на угад.
def create_soar_api(ip, port=443, proto="https", token=None, system="SV4"): ... def second(x): return x[1] params = { "ip": "$<api_ip>", "port": "$<api_port>", "proto": "$<api_proto>", "token": "#<token>", "system": "$<api_system>",
}
params_not_empty = dict(filter(second, params.items()))
soar_api = create_soar_api(**params_not_empty) Или можно воспользщоваться более элегантной подстановкой, которая требует меньше действий: proto = "$<api_proto>" or "https"
ip = "$<api_ip>" # ничего не подставляем, т.к. должна быть ошибка, если пуст.
port = "$<api_port>" or 443
token = "#<token>" # ничего не подставляем, т.к. должна быть ошибка, если пуст.
system = "$<api_system>" or "SV4" soar_api = SOARAPI(proto, ip, port, token, system)