Source code for q2_cores.SOA.queries.demographic_info_query

import logging
from lxml import etree
from lxml.builder import E

from q2_sdk.models.cores.queries.base_query import BaseQuery
from .mock_responses import mock_demographic_info_response


[docs] class DemographicInfoQuery(BaseQuery): """Builds the xml payload for the initial search call for SOA""" def __init__( self, logger: logging.Logger, name_id: str, group_name: str, inst_number: str ): self.name_id = name_id self.group_name = group_name self.inst_number = inst_number super().__init__(logger)
[docs] def build(self): xml = etree.tostring( E.Request( E.NameID(self.name_id), E.Sequence("1"), E.GroupName(self.group_name), E.InstNumber(self.inst_number), E.Type("Names"), E.Type("NameFlexData"), Echo="true", TypeOfRequest="GetName", ), encoding="unicode", ) return xml
[docs] def mock_response(self): return mock_demographic_info_response()