Common package

Submodules

Common.service module

class Common.service.Service(*args, **kwargs)

Bases: object

init_model(tables)
static init_orm(model_config)
query_api(api_name, request_method, request_params={}, headers=None, body=None)

method used for api queries — api_name: registered api name in api_config request_method: “get”, “post”, “put”, “delete” request_params: request parameters headers: request headers body: request body — USAGE: api_config = { “api_name1”: “http:api1:5000/path/to/api”, “api_name2”: “http:api2:5000/path/to/api”, }

query_db(query, args=(), retval=False)

method used for sql database queries — query: sql query args: sql query arguments retval: True for SELECT | FALSE for INSERT, DELETE, etc

query_model(model_name)

Method used for orm database queries — USAGE: with self.query_model(<TABLE NAME>) as (conn, <TABLE>):

res = conn.execute(…)

— model_name: table name

Common.service.default_validator(col_type, val)
Common.service.insert_into_dict(dest, keys, vals)
Common.service.validate(self, data, optional=False, drop=False, exclude=[])

Validator method for request body. Injected into sqlalchemy Model. — USAGE: with self.query_model(<TABLE NAME>) as (conn, <TABLE>):

verified_json_body, status = <TABLE>.validate(<REQUEST BODY>) if status:

# validation success

else:

# validation fail

— data: json dict — Returns dict of validated values mapped to model.

Common.service.validator(*args)

Decorator which decorates validation functions. — USAGE:

# single value validator @validator(“Reservation.user”) def reservation_date_validator(user): # example validator

if user is cond:

return True

return False

# multiple value validator @validator(“Reservation.start_date”, “Reservation.end_date”) def reservation_date_validator(start_date, end_date): # example validator

if start_date is cond and end_date is cond:

return True

return False

Module contents