Source code for q2_cores.SOA.queries.initial_search_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_initial_search_response


[docs] class InitialSearchQuery(BaseQuery): """Builds the xml payload for the initial search call for SOA""" def __init__( self, logger: logging.Logger, ssn: str, group_name: str, inst_number: str ): self.ssn = ssn self.group_name = group_name self.inst_number = inst_number super().__init__(logger)
[docs] def build(self): xml = etree.tostring( E.Request( E.TaxID(self.ssn), E.TaxIDCode("1"), E.Sequence("1"), E.GroupName(self.group_name), E.InstNumber(self.inst_number), E.Type("PortfolioNameRelationships"), E.Type("NameAddressRelationships"), Echo="true", TypeOfRequest="GetNameAddressList", ), encoding="unicode", ) return xml
[docs] def mock_response(self): return mock_initial_search_response()