import logging
from lxml import etree
from q2_sdk.models.cores.queries.base_query import BaseQuery
from q2_cores import data_helpers
[docs]
class UpdateEmailQuery(BaseQuery):
"""Updates Phone info for an OSI Entity"""
def __init__(
self,
logger: logging.Logger,
access_number: str,
pin: str,
use_code: int,
email: str,
email_type: str,
):
self.access_number = access_number
self.pin = pin
self.use_code = use_code
self.email = email
self.email_type = email_type
super().__init__(logger)
[docs]
def build(self):
root = etree.Element("PROCREQ", PROC="1200")
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, "EMAIL_ADDRESS_UC").text = self.email_type
etree.SubElement(root, "EMAIL_ADDRESS").text = str(self.email)
xml_bytes = b"95\t" + etree.tostring(root)
return xml_bytes.decode()
[docs]
def mock_response(self):
response = """
<PROCREQ PROC="1200">
<RESPONSE>OK</RESPONSE>
</PROCREQ>
"""
response = [data_helpers.normalize_xml_str(response), "ITC\t1\t0"]
return "\n".join(response)