diff --git a/terms.py b/terms.py index 574a9d6..3b0f3c1 100644 --- a/terms.py +++ b/terms.py @@ -10,12 +10,41 @@ def build_terms_query() -> str: """Return a minimal TermsQueryRq XML.""" - raise NotImplementedError() + + xml_string = """ + + + + + + + + """ + + return xml_string def parse_and_print(response_xml: str) -> None: """Parse response and print term name + discount days.""" - raise NotImplementedError() + with open("response.xml", "w") as file: + file.write(response_xml) + + tree = ET.parse("response.xml") + root = tree.getroot() + + terms_query_rs = root.find(".//TermsQueryRs") + + status_code = terms_query_rs.get("statusCode") + status_message = terms_query_rs.get("statusMessage") + + if status_code != "0": + print(f"Error: {status_message}") + exit() + + for term in terms_query_rs.findall("StandardTermsRet"): + name = term.findtext("Name") + discount_days = term.findtext("StdDiscountDays") + print(f"Name: {name}, Discount Days: {discount_days}") def main():