Source code for q2_cores.Summit.queries.build_demographic_info_query

import logging

from lxml import etree

from q2_sdk.models.cores.queries.base_query import BaseQuery
from q2_cores.Summit.queries import mock_responses


[docs] class DemographicInfoQuery(BaseQuery): def __init__( self, logger: logging.Logger, teller_id: str, account_number: str, options: str = "MSLXY", ): self.teller_id = teller_id self.account_number = account_number self.options = options super().__init__(logger)
[docs] def build(self) -> str: """ Call Shape: .. code:: <Summit> <RealTime> <CommandRq> <RequestHeader> <Teller> <ID>HBT</ID> </Teller> </RequestHeader> <RQMS_RQSTRq> <Account>85135</Account> <Options>MSLXY</Options> </RQMS_RQSTRq> </CommandRq> </RealTime> </Summit> """ root = etree.Element("Summit") realtime_node = etree.SubElement(root, "RealTime") command_rq_node = etree.SubElement(realtime_node, "CommandRq") request_header_node = etree.SubElement(command_rq_node, "RequestHeader") teller_node = etree.SubElement(request_header_node, "Teller") id_node = etree.SubElement(teller_node, "ID") id_node.text = self.teller_id rqms_rqst_rq_node = etree.SubElement(command_rq_node, "RQMS_RQSTRq") account_node = etree.SubElement(rqms_rqst_rq_node, "Account") account_node.text = self.account_number options_node = etree.SubElement(rqms_rqst_rq_node, "Options") options_node.text = self.options xml_as_bytes = etree.tostring(root) return xml_as_bytes.decode("utf8")
[docs] def mock_response(self): return mock_responses.mock_build_demographic_info_response()