diff --git a/response.xml b/response.xml index 3958409..ba4338d 100644 --- a/response.xml +++ b/response.xml @@ -3,10 +3,10 @@ -80000001-1758063532 -2025-09-16T22:58:52+00:00 -2025-09-16T22:58:52+00:00 -1758063532 +80000001-1758131652 +2025-09-17T17:54:12+00:00 +2025-09-17T17:54:12+00:00 +1758131652 1% 10 Net 30 true 30 @@ -14,10 +14,10 @@ 1.00 -80000002-1758063532 -2025-09-16T22:58:52+00:00 -2025-09-16T22:58:52+00:00 -1758063532 +80000002-1758131652 +2025-09-17T17:54:12+00:00 +2025-09-17T17:54:12+00:00 +1758131652 2% 10 Net 30 true 30 @@ -25,10 +25,10 @@ 2.00 -80000003-1758063532 -2025-09-16T22:58:52+00:00 -2025-09-16T22:58:52+00:00 -1758063532 +80000003-1758131652 +2025-09-17T17:54:12+00:00 +2025-09-17T17:54:12+00:00 +1758131652 Consignment true 90 @@ -36,10 +36,10 @@ 0.00 -80000004-1758063532 -2025-09-16T22:58:52+00:00 -2025-09-16T22:58:52+00:00 -1758063532 +80000004-1758131652 +2025-09-17T17:54:12+00:00 +2025-09-17T17:54:12+00:00 +1758131652 Due on receipt true 0 @@ -47,10 +47,10 @@ 0.00 -80000005-1758063532 -2025-09-16T22:58:52+00:00 -2025-09-16T22:58:52+00:00 -1758063532 +80000005-1758131652 +2025-09-17T17:54:12+00:00 +2025-09-17T17:54:12+00:00 +1758131652 Net 15 true 15 @@ -58,10 +58,10 @@ 0.00 -80000006-1758063532 -2025-09-16T22:58:52+00:00 -2025-09-16T22:58:52+00:00 -1758063532 +80000006-1758131652 +2025-09-17T17:54:12+00:00 +2025-09-17T17:54:12+00:00 +1758131652 Net 30 true 30 @@ -69,10 +69,10 @@ 0.00 -80000007-1758063532 -2025-09-16T22:58:52+00:00 -2025-09-16T22:58:52+00:00 -1758063532 +80000007-1758131652 +2025-09-17T17:54:12+00:00 +2025-09-17T17:54:12+00:00 +1758131652 Net 60 true 60 diff --git a/terms.py b/terms.py index 574a9d6..fbc8c86 100644 --- a/terms.py +++ b/terms.py @@ -10,12 +10,33 @@ def build_terms_query() -> str: """Return a minimal TermsQueryRq XML.""" - raise NotImplementedError() + return """ + + + + + + +""" def parse_and_print(response_xml: str) -> None: """Parse response and print term name + discount days.""" - raise NotImplementedError() + root = ET.fromstring(response_xml) + + # Find and print StandardTermsRet + standard_terms = root.findall(".//StandardTermsRet") + for term in standard_terms: + name = term.findtext("Name", default="N/A") + discount_days = term.findtext("StdDiscountDays", default="N/A") + print(f"Term Name: {name}, Discount Days: {discount_days}") + + # Find and print DateDrivenTermsRet + date_driven_terms = root.findall(".//DateDrivenTermsRet") + for term in date_driven_terms: + name = term.findtext("Name", default="N/A") + discount_days = term.findtext("DiscountDayOfMonth", default="N/A") + print(f"Term Name: {name}, Discount Days: {discount_days}") def main(): @@ -34,6 +55,7 @@ def main(): response_xml = rp.ProcessRequest(ticket, request_xml) with open("response.xml", "w") as file: file.write(response_xml) + print("Response written to response.xml") parse_and_print(response_xml) finally: