This repository has been archived on 2024-01-13. You can view files and clone it, but cannot push or open issues or pull requests.
arka-mvp/api/api_utils.py
2022-09-25 11:06:41 +03:00

34 lines
872 B
Python

from .api_errors import *
def __make_invalid_argument_type_error(name, value, except_type):
related = {"param_name": name, "excepted_type": "int", "value": value}
raise Exception(API_ERROR_INVALID_ARGUMENT_TYPE, related)
def api_make_response(response):
return {"response": API_OK_OBJ | response}
def api_get_param_int(params: dict, name: str, required=True, default=0):
if name in params:
try:
return int(params[name])
except:
__make_invalid_argument_type_error(name, params[name], "int")
if required:
raise Exception(API_ERROR_MISSING_ARGUMENT, name)
return default
def api_get_param_str(params: dict, name: str, required=True, default=""):
if name in params:
return params[name]
if required:
raise Exception(API_ERROR_MISSING_ARGUMENT, name)
return default