From 440446750e3927294452ad5b3a38026e4d3069df Mon Sep 17 00:00:00 2001 From: Chris Lacina Date: Fri, 22 Jun 2018 13:34:51 -0700 Subject: [PATCH] Make address_type and address_type_number available. --- e911_demo.py | 27 ++++++++++++++-- .../controllers/e911s_controller.py | 32 ++++++++++++++++--- 2 files changed, 52 insertions(+), 7 deletions(-) diff --git a/e911_demo.py b/e911_demo.py index b88d575..0970e8a 100644 --- a/e911_demo.py +++ b/e911_demo.py @@ -42,7 +42,9 @@ try: city="Seattle", state="WA", country="US", - zipcode="98101") + zipcode="98101", + address_type="Suite", + address_type_number="600") pprint.pprint(result) except Exception as e: print(str(e)) @@ -59,7 +61,28 @@ try: city="Seattle", state="WA", country="US", - zipcode="98101") + zipcode="98101", + address_type="Suite", + address_type_number="600") + pprint.pprint(result) +except Exception as e: + print(str(e)) + print(e.context.response.raw_body) + +print("\n--Create and Validate an Address") +try: + result = e911s_controller.create_address( + label="E911 Test", + first_name="Chris", + last_name="Smith", + street_name="3rd Ave", + street_number="1218", + city="Seattle", + state="WA", + country="US", + zipcode="98101", + address_type='Suite', + address_type_number='700') pprint.pprint(result) except Exception as e: print(str(e)) diff --git a/flowroutenumbersandmessaging/controllers/e911s_controller.py b/flowroutenumbersandmessaging/controllers/e911s_controller.py index a346cf2..c393d90 100644 --- a/flowroutenumbersandmessaging/controllers/e911s_controller.py +++ b/flowroutenumbersandmessaging/controllers/e911s_controller.py @@ -103,7 +103,9 @@ class E911sController(BaseController): city, state, country, - zipcode): + zipcode, + address_type=None, + address_type_number=None): """Does a POST request to /v2/e911s/validate. Returns a 204 No Content on success, or a 404 with error data @@ -118,6 +120,8 @@ class E911sController(BaseController): state (2 character string): country (string USA or Canada): zipcode (string postal code) + address_type (string address type) + address_type_number (string when address_type used, required) Returns: mixed: Response from the API. A 204 - No Content or a @@ -142,11 +146,15 @@ class E911sController(BaseController): 'city': city, 'state': state, 'country': country, - 'zip': zipcode + 'zip': zipcode, } } } + if address_type and address_type_number: + body['data']['attributes']['address_type'] = address_type + body['data']['attributes']['address_type_number'] = address_type_number + # Prepare query URL _query_builder = Configuration.base_uri _query_builder += '/v2/e911s/validate' @@ -175,7 +183,9 @@ class E911sController(BaseController): city, state, country, - zipcode): + zipcode, + address_type=None, + address_type_number=None): """Does a POST request to /v2/e911s. Creates an address record that can then be associated @@ -191,6 +201,8 @@ class E911sController(BaseController): state (2 character string): country (string USA or Canada): zipcode (string postal code) + address_type (string address type) + address_type_number (string required if address_type specified) Returns: mixed: Response from the API. A JSON object containing the new @@ -215,11 +227,15 @@ class E911sController(BaseController): 'city': city, 'state': state, 'country': country, - 'zip': zipcode + 'zip': zipcode, } } } + if address_type and address_type_number: + body['data']['attributes']['address_type'] = address_type + body['data']['attributes']['address_type_number'] = address_type_number + # Prepare query URL _query_builder = Configuration.base_uri _query_builder += '/v2/e911s' @@ -249,7 +265,9 @@ class E911sController(BaseController): city=None, state=None, country=None, - zipcode=None): + zipcode=None, + address_type=None, + address_type_number=None): """Does a PATCH request to /v2/e911s/. @@ -303,6 +321,10 @@ class E911sController(BaseController): record_data['data']['attributes']['zip'] = str(zipcode) record_data['data']['attributes']['zip_code'] = str(zipcode) + record_data['data']['attributes']['address_type'] = address_type + record_data['data']['attributes']['address_type_number'] = \ + address_type_number + # Fix address_type if not used if 'address_type' in record_data['data']['attributes'] and \ record_data['data']['attributes']['address_type'] == u'':