1
1
import requests
2
2
import json
3
3
import geojson
4
+ import logging
4
5
5
6
from .errors import (OverpassSyntaxError , TimeoutError , MultipleRequestsError ,
6
7
ServerLoadError , UnknownOverpassError , ServerRuntimeError )
@@ -11,7 +12,7 @@ class API(object):
11
12
SUPPORTED_FORMATS = ["geojson" , "json" , "xml" ]
12
13
13
14
# defaults for the API class
14
- _timeout = 25 # seconds
15
+ _timeout = 25 # second
15
16
_endpoint = "http://overpass-api.de/api/interpreter"
16
17
_debug = False
17
18
@@ -25,16 +26,22 @@ def __init__(self, *args, **kwargs):
25
26
self ._status = None
26
27
27
28
if self .debug :
28
- import httplib
29
- import logging
30
- httplib .HTTPConnection .debuglevel = 1
31
-
29
+ # http://stackoverflow.com/a/16630836
30
+ try :
31
+ import http .client as http_client
32
+ except ImportError :
33
+ # Python 2
34
+ import httplib as http_client
35
+ http_client .HTTPConnection .debuglevel = 1
36
+
37
+ # You must initialize logging, otherwise you'll not see debug output.
32
38
logging .basicConfig ()
33
39
logging .getLogger ().setLevel (logging .DEBUG )
34
40
requests_log = logging .getLogger ("requests.packages.urllib3" )
35
41
requests_log .setLevel (logging .DEBUG )
36
42
requests_log .propagate = True
37
43
44
+
38
45
def Get (self , query , responseformat = "geojson" , verbosity = "body" , build = True ):
39
46
"""Pass in an Overpass query in Overpass QL"""
40
47
@@ -43,6 +50,9 @@ def Get(self, query, responseformat="geojson", verbosity="body", build=True):
43
50
full_query = self ._ConstructQLQuery (query , responseformat = responseformat , verbosity = verbosity )
44
51
else :
45
52
full_query = query
53
+
54
+ if self .debug :
55
+ logging .getLogger ().info (query )
46
56
47
57
# Get the response from Overpass
48
58
raw_response = self ._GetFromOverpass (full_query )
0 commit comments