Exemple #1
0
 def test_reftelepules(self) -> None:
     """Tests the reftelepules case."""
     fro = ["osm", "filter-for", "refmegye", "42", "reftelepules", "43"]
     filters = util.parse_filters(fro)
     self.assertEqual(filters["refmegye"], "42")
     filters = util.parse_filters(fro)
     self.assertEqual(filters["reftelepules"], "43")
Exemple #2
0
 def test_refsettlement(self) -> None:
     """Tests the refsettlement case."""
     fro = ["osm", "filter-for", "refcounty", "42", "refsettlement", "43"]
     filters = util.parse_filters(fro)
     self.assertEqual(filters["refcounty"], "42")
     filters = util.parse_filters(fro)
     self.assertEqual(filters["refsettlement"], "43")
Exemple #3
0
def setup_main_filter_for(
        request_uri: str
) -> Tuple[Callable[[bool, areas.Relation], bool], str]:
    """Sets up a filter-for function from request uri: only certain areas are shown then."""
    tokens = request_uri.split("/")
    filter_for: Callable[[bool, areas.Relation], bool] = filter_for_incomplete
    filters = util.parse_filters(tokens)
    refcounty = ""
    if "incomplete" in filters:
        # /osm/filter-for/incomplete
        filter_for = filter_for_incomplete
    elif "everything" in filters:
        # /osm/filter-for/everything
        filter_for = filter_for_everything
    elif "refcounty" in filters and "refsettlement" in filters:
        # /osm/filter-for/refcounty/<value>/refsettlement/<value>
        refcounty = filters["refcounty"]
        filter_for = create_filter_for_refcounty_refsettlement(
            filters["refcounty"], filters["refsettlement"])
    elif "refcounty" in filters:
        # /osm/filter-for/refcounty/<value>/whole-county
        refcounty = filters["refcounty"]
        filter_for = create_filter_for_refcounty(refcounty)
    elif "relations" in filters:
        # /osm/filter-for/relations/<id1>,<id2>
        relations = filters["relations"]
        filter_for = create_filter_for_relations(relations)
    return filter_for, refcounty
Exemple #4
0
def setup_main_filter_for(request_uri: str) -> Tuple[Callable[[bool, helpers.Relation], bool], str]:
    """Sets up a filter-for function from request uri: only certain areas are shown then."""
    tokens = request_uri.split("/")
    filter_for = filter_for_everything  # type: Callable[[bool, helpers.Relation], bool]
    filters = util.parse_filters(tokens)
    refmegye = ""
    if "incomplete" in filters:
        # /osm/filter-for/incomplete
        filter_for = filter_for_incomplete
    elif "refmegye" in filters and "reftelepules" in filters:
        # /osm/filter-for/refmegye/<value>/reftelepules/<value>.
        refmegye = filters["refmegye"]
        filter_for = create_filter_for_refmegye_reftelepules(filters["refmegye"], filters["reftelepules"])
    elif "refmegye" in filters:
        # /osm/filter-for/refmegye/<value>.
        refmegye = filters["refmegye"]
        filter_for = create_filter_for_refmegye(refmegye)
    return filter_for, refmegye
Exemple #5
0
 def test_refmegye(self) -> None:
     """Tests the refmegye case."""
     fro = ["osm", "filter-for", "refmegye", "42"]
     self.assertEqual(util.parse_filters(fro), {"refmegye": "42"})
Exemple #6
0
 def test_incomplete(self) -> None:
     """Tests the incomplete case."""
     fro = ["osm", "filter-for", "incomplete"]
     self.assertTrue("incomplete" in util.parse_filters(fro))