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")
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")
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
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
def test_refmegye(self) -> None: """Tests the refmegye case.""" fro = ["osm", "filter-for", "refmegye", "42"] self.assertEqual(util.parse_filters(fro), {"refmegye": "42"})
def test_incomplete(self) -> None: """Tests the incomplete case.""" fro = ["osm", "filter-for", "incomplete"] self.assertTrue("incomplete" in util.parse_filters(fro))