def test_city_state_lookup(self): connector = CityStateLookup(USPS_CONNECTION_TEST, USERID) response = connector.execute([{'Zip5':'90210'}])[0] self.assertEqual(response['City'], 'BEVERLY HILLS') self.assertEqual(response['State'], 'CA') self.assertEqual(response['Zip5'], '90210') response = connector.execute([{'Zip5':'20770',}])[0] self.assertEqual(response['City'], 'GREENBELT') self.assertEqual(response['State'], 'MD') self.assertEqual(response['Zip5'], '20770')
def test_city_state_lookup(self): connector = CityStateLookup(USPS_CONNECTION_TEST, USERID, PASSWORD) response = connector.execute([{'Zip5':'90210'}])[0] self.assertEqual(response['City'], 'BEVERLY HILLS') self.assertEqual(response['State'], 'CA') self.assertEqual(response['Zip5'], '90210') response = connector.execute([{'Zip5':'20770',}])[0] self.assertEqual(response['City'], 'GREENBELT') self.assertEqual(response['State'], 'MD') self.assertEqual(response['Zip5'], '20770')
def zip_lookup(request): USERID = settings.USPS_USERID connector = CityStateLookup(USPS_CONNECTION, USERID) zip5 = request.GET.get('zip') if len(zip5) > 5: #might be a zip9, try to parse zip5 zip5 = zip5[:5] if zip5: try: response = connector.execute([{'Zip5':zip5}])[0] cleaned = {} cleaned['city'] = response['City'].lower().title() cleaned['state'] = response['State'].upper() cleaned['zip'] = response['Zip5'] #print cleaned except USPSXMLError,e: return HttpResponseServerError('USPS Error: %s' % e) except URLError,e: return HttpResponseServerError(json.dumps({'error':'timeout'}),mimetype="application/json")