@@ -60,12 +60,7 @@ def __init__(self, *args, **kwargs):
6060 self ._status = None
6161
6262 if self .debug :
63- # https://stackoverflow.com/a/16630836
64- try :
65- import http .client as http_client
66- except ImportError :
67- # Python 2
68- import httplib as http_client
63+ import http .client as http_client
6964 http_client .HTTPConnection .debuglevel = 1
7065
7166 # You must initialize logging,
@@ -152,19 +147,18 @@ def _api_status() -> dict:
152147 available_slots = int (
153148 next (
154149 (
155- available_re . search ( line ) .group ()
150+ m .group ()
156151 for line in lines
157- if available_re .search (line )
152+ if ( m := available_re .search (line ) )
158153 ), 0
159154 )
160155 )
161156
162157 waiting_re = re .compile (r'(?<=Slot available after: )[\d\-TZ:]{20}' )
163158 waiting_slots = tuple (
164- datetime .strptime (
165- waiting_re .search (line ).group (), "%Y-%m-%dT%H:%M:%S%z"
166- )
167- for line in lines if waiting_re .search (line )
159+ datetime .strptime (m .group (), "%Y-%m-%dT%H:%M:%S%z" )
160+ for line in lines
161+ if (m := waiting_re .search (line ))
168162 )
169163
170164 current_idx = next (
@@ -248,7 +242,7 @@ def _construct_ql_query(self, userquery, responseformat, verbosity, date):
248242 raw_query += ";"
249243
250244 if date :
251- date = f'[date:"{ date . strftime ( " %Y-%m-%dT%H:%M:%SZ" ) } "]'
245+ date = f'[date:"{ date : %Y-%m-%dT%H:%M:%SZ} "]'
252246
253247 if responseformat == "geojson" :
254248 template = self ._GEOJSON_QUERY_TEMPLATE
@@ -281,19 +275,19 @@ def _get_from_overpass(self, query):
281275
282276 self ._status = r .status_code
283277
284- if self ._status != 200 :
285- if self ._status == 400 :
286- raise OverpassSyntaxError (query )
287- elif self ._status == 429 :
288- raise MultipleRequestsError ()
289- elif self ._status == 504 :
290- raise ServerLoadError (self ._timeout )
291- raise UnknownOverpassError (
292- "The request returned status code {code}" .format (code = self ._status )
293- )
294- else :
278+ if self ._status == 200 :
295279 r .encoding = "utf-8"
296280 return r
281+ elif self ._status == 400 :
282+ raise OverpassSyntaxError (query )
283+ elif self ._status == 429 :
284+ raise MultipleRequestsError ()
285+ elif self ._status == 504 :
286+ raise ServerLoadError (self ._timeout )
287+ else :
288+ raise UnknownOverpassError (
289+ f"The request returned status code { self ._status } "
290+ )
297291
298292 def _as_geojson (self , elements ):
299293 ids_already_seen = set ()
0 commit comments