Skip to content

Commit e1214a9

Browse files
author
dmpayton
committed
cleanup and comment address_validation example
1 parent 809c208 commit e1214a9

File tree

1 file changed

+35
-16
lines changed

1 file changed

+35
-16
lines changed

examples/address_validation.py

Lines changed: 35 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -12,27 +12,46 @@ class can handle up to 100 addresses for validation.
1212

1313
# This is the object that will be handling our tracking request.
1414
# We're using the FedexConfig object from example_config.py in this dir.
15-
address = FedexAddressValidationRequest(CONFIG_OBJ)
16-
17-
address.AddressValidationOptions.CheckResidentialStatus = True
18-
address.AddressValidationOptions.VerifyAddresses = True
19-
address.AddressValidationOptions.MaximumNumberOfMatches = 3
20-
address.AddressValidationOptions.StreetAccuracy = 'LOOSE'
21-
del address.AddressValidationOptions.DirectionalAccuracy
22-
del address.AddressValidationOptions.CompanyNameAccuracy
23-
del address.AddressValidationOptions.ConvertToUpperCase
24-
address.AddressValidationOptions.RecognizeAlternateCityNames = True
25-
del address.AddressValidationOptions.ReturnParsedElements
26-
27-
address1 = address.create_wsdl_object_of_type('AddressToValidate')
15+
connection = FedexAddressValidationRequest(CONFIG_OBJ)
16+
17+
# The AddressValidationOptions are created with default values of None, which
18+
# will cause WSDL validation errors. To make things work, each option needs to
19+
# be explicitly set or deleted.
20+
21+
## Set the flags we want to True (or a value).
22+
connection.AddressValidationOptions.CheckResidentialStatus = True
23+
connection.AddressValidationOptions.VerifyAddresses = True
24+
connection.AddressValidationOptions.RecognizeAlternateCityNames = True
25+
connection.AddressValidationOptions.MaximumNumberOfMatches = 3
26+
27+
## Delete the flags we don't want.
28+
del connection.AddressValidationOptions.ConvertToUpperCase
29+
del connection.AddressValidationOptions.ReturnParsedElements
30+
31+
## *Accuracy fields can be TIGHT, EXACT, MEDIUM, or LOOSE. Or deleted.
32+
connection.AddressValidationOptions.StreetAccuracy = 'LOOSE'
33+
del connection.AddressValidationOptions.DirectionalAccuracy
34+
del connection.AddressValidationOptions.CompanyNameAccuracy
35+
36+
## Create some addresses to validate
37+
address1 = connection.create_wsdl_object_of_type('AddressToValidate')
2838
address1.CompanyName = 'International Paper'
2939
address1.Address.StreetLines = ['155 Old Greenville Hwy', 'Suite 103']
3040
address1.Address.City = 'Clemson'
3141
address1.Address.StateOrProvinceCode = 'SC'
3242
address1.Address.PostalCode = 29631
3343
address1.Address.CountryCode = 'US'
3444
address1.Address.Residential = False
45+
connection.add_address(address1)
46+
47+
address2 = connection.create_wsdl_object_of_type('AddressToValidate')
48+
address2.Address.StreetLines = ['320 S Cedros', '#200']
49+
address2.Address.City = 'Solana Beach'
50+
address2.Address.StateOrProvinceCode = 'CA'
51+
address2.Address.PostalCode = 92075
52+
address2.Address.CountryCode = 'US'
53+
connection.add_address(address2)
3554

36-
address.add_address(address1)
37-
address.send_request()
38-
print address.response
55+
## Send the request and print the response
56+
connection.send_request()
57+
print connection.response

0 commit comments

Comments
 (0)