Adding files needed to run sphinx as a pre-push hook.
[python_utils.git] / geocode.py
index 176487ae566458093ecf0fd95a3d21ab98221418..3e83d023bca918588056dd5e9b8db110d3286641 100644 (file)
@@ -5,8 +5,16 @@
 """Wrapper around US Census address geocoder API described here:
 https://www2.census.gov/geo/pdfs/maps-data/data/Census_Geocoder_User_Guide.pdf
 https://geocoding.geo.census.gov/geocoder/Geocoding_Services_API.pdf
+
+Also try:
+
+    $ curl --form [email protected] \
+           --form benchmark=2020 \
+           https://geocoding.geo.census.gov/geocoder/locations/addressbatch \
+           --output geocoderesult.csv
 """
 
+import json
 import logging
 from typing import Any, Dict, List, Optional
 
@@ -43,9 +51,10 @@ def geocode_address(address: str) -> Optional[Dict[str, Any]]:
         return None
 
     if r.status_code != 200:
+        logger.debug(r.text)
         logger.error('Unexpected response code %d, wanted 200.  Fail.', r.status_code)
         return None
-    # print(json.dumps(r.json(), indent=4, sort_keys=True))
+    logger.debug('Response: %s', json.dumps(r.json(), indent=4, sort_keys=True))
     return r.json()
 
 
@@ -86,10 +95,12 @@ def batch_geocode_addresses(addresses: List[str]):
         except Exception as e:
             logger.exception(e)
             return None
+
         if r.status_code != 200:
-            print(r.text)
+            logger.debug(r.text)
             logger.error('Unexpected response code %d, wanted 200.  Fail.', r.status_code)
             return None
+        logger.debug('Response: %s', r.text)
         for line in r.text.split('\n'):
             line = line.strip()
             if len(line) > 0: