Source code for q2_cores.OSI.queries.update_address_query

import logging

from lxml import etree
from q2_sdk.models.cores.queries.base_query import BaseQuery

from q2_cores import data_helpers


[docs] class UpdateAddressQuery(BaseQuery): """Updates address for an OSI Entity""" def __init__( self, logger: logging.Logger, access_number: str, pin: str, use_code: int, city: str, state: str, zipcode: str, address_1: str, address_2: str, address_3: str = "", address_type: str = "PRI", country: str = "USA", ): self.access_number = access_number self.pin = pin self.use_code = use_code self.country = country self.city = city self.state = state self.zipcode = zipcode self.address_1 = address_1 self.address_2 = address_2 self.address_3 = address_3 self.address_type = address_type super().__init__(logger)
[docs] def build(self): root = etree.Element("PROCREQ", PROC="1230") etree.SubElement(root, "ACCESS_NBR").text = str(self.access_number) etree.SubElement(root, "PIN").text = str(self.pin) etree.SubElement(root, "SOURCE").text = "WWW" etree.SubElement(root, "UC").text = str(self.use_code) etree.SubElement(root, "ADDRESSUSECD").text = self.address_type etree.SubElement(root, "COUNTRY").text = self.country etree.SubElement(root, "CITYNAME").text = self.city etree.SubElement(root, "STATE").text = self.state etree.SubElement(root, "ZIPCD").text = self.zipcode etree.SubElement(root, "STREET1").text = self.address_1 etree.SubElement(root, "STREET2").text = self.address_2 etree.SubElement(root, "STREET3").text = self.address_3 xml_bytes = b"95\t" + etree.tostring(root) return xml_bytes.decode()
[docs] def mock_response(self): response = """ <PROCREQ PROC="1230"> <RESPONSE>OK</RESPONSE> </PROCREQ> """ response = [data_helpers.normalize_xml_str(response), "ITC\t1\t0"] return "\n".join(response)