Example #1
0
def overpass_sleep(ctx: context.Context) -> None:
    """Sleeps to respect overpass rate limit."""
    while True:
        sleep = overpass_query.overpass_query_need_sleep(ctx)
        if not sleep:
            break
        info("overpass_sleep: waiting for %s seconds", sleep)
        ctx.get_time().sleep(sleep)
Example #2
0
def overpass_sleep() -> None:
    """Sleeps to respect overpass rate limit."""
    while True:
        sleep = overpass_query.overpass_query_need_sleep()
        if not sleep:
            break
        logging.info("overpass_sleep: waiting for %s seconds", sleep)
        time.sleep(sleep)
Example #3
0
def handle_overpass_error(http_error: urllib.error.HTTPError) -> yattag.Doc:
    """Handles a HTTP error from Overpass."""
    doc = yattag.Doc()
    doc.text(_("Overpass error: {0}").format(str(http_error)))
    sleep = overpass_query.overpass_query_need_sleep()
    if sleep:
        doc.stag("br")
        doc.text(_("Note: wait for {} seconds").format(sleep))
    return doc
Example #4
0
def handle_overpass_error(ctx: context.Context,
                          http_error: str) -> yattag.doc.Doc:
    """Handles a HTTP error from Overpass."""
    doc = yattag.doc.Doc()
    with doc.tag("div", id="overpass-error"):
        doc.text(tr("Overpass error: {0}").format(http_error))
        sleep = overpass_query.overpass_query_need_sleep(ctx)
        if sleep:
            doc.stag("br")
            doc.text(tr("Note: wait for {} seconds").format(sleep))
    return doc
Example #5
0
 def test_wait_negative(self) -> None:
     """Tests the wait for negative amount path."""
     ctx = test_context.make_test_context()
     routes: List[test_context.URLRoute] = [
         test_context.URLRoute(
             url="https://overpass-api.de/api/status",
             data_path="",
             result_path="tests/network/overpass-status-wait-negative.txt")
     ]
     network = test_context.TestNetwork(routes)
     ctx.set_network(network)
     self.assertEqual(overpass_query.overpass_query_need_sleep(ctx), 1)
Example #6
0
 def test_wait_negative(self) -> None:
     """Tests the wait for negative amount path."""
     with unittest.mock.patch('urllib.request.urlopen',
                              gen_urlopen("overpass-status-wait-negative")):
         self.assertEqual(overpass_query.overpass_query_need_sleep(), 1)
Example #7
0
 def test_happy(self) -> None:
     """Tests the happy path."""
     with unittest.mock.patch('urllib.request.urlopen',
                              gen_urlopen("overpass-status-happy")):
         self.assertEqual(overpass_query.overpass_query_need_sleep(), 0)