from argparse import _SubParsersAction
from functools import partial
from .db_object import DbObject
[docs]
class State(DbObject):
"""
US State information from the Database
"""
GET_BY_NAME_KEY = "StateName"
NAME = "State"
[docs]
def add_arguments(self, parser: _SubParsersAction):
subparser = parser.add_parser("get_states")
subparser.set_defaults(parser="get_states")
subparser.set_defaults(func=partial(self.get, serialize_for_cli=True))
[docs]
async def get(self, serialize_for_cli=False):
"""
Pulls data from the Q2_State table
:param serialize_for_cli: Used when running from the command line
"""
response = await self.call_hq("sdk_GetStates")
if serialize_for_cli:
columns = ["StateCode", "StateName"]
response = self.serialize_for_cli(response, columns)
return response