def handle_main_filters(relations: areas.Relations, refcounty_id: str) -> yattag.doc.Doc: """Handlers the filter part of the main wsgi page.""" items: List[yattag.doc.Doc] = [] doc = yattag.doc.Doc() prefix = config.Config.get_uri_prefix() with doc.tag("a", href=prefix + "/filter-for/incomplete"): doc.text(_("Hide complete areas")) items.append(doc) # Sorted set of refcounty values of all relations. for refcounty in sorted({ relation.get_config().get_refcounty() for relation in relations.get_relations() }): items.append( handle_main_filters_refcounty(relations, refcounty_id, refcounty)) doc = yattag.doc.Doc() with doc.tag("h1"): doc.text(_("Where to map?")) with doc.tag("p"): doc.text(_("Filters:") + " ") for index, item in enumerate(items): if index: doc.text(" ¦ ") doc.asis(item.getvalue()) return doc
def handle_invalid_refstreets(ctx: context.Context, relations: areas.Relations) -> yattag.doc.Doc: """Expected request_uri: e.g. /osm/housenumber-stats/hungary/invalid-relations.""" doc = yattag.doc.Doc() doc.asis(get_toolbar(ctx, relations).getvalue()) prefix = ctx.get_ini().get_uri_prefix() for relation in relations.get_relations(): if not ctx.get_file_system().path_exists( relation.get_files().get_osm_streets_path()): continue invalid_refstreets = relation.get_invalid_refstreets() osm_invalids, ref_invalids = invalid_refstreets key_invalids = relation.get_invalid_filter_keys() if not osm_invalids and not ref_invalids and not key_invalids: continue with doc.tag("h1"): relation_name = relation.get_name() with doc.tag("a", href=prefix + "/streets/" + relation_name + "/view-result"): doc.text(relation_name) doc.asis( util.invalid_refstreets_to_html(invalid_refstreets).getvalue()) doc.asis(util.invalid_filter_keys_to_html(key_invalids).getvalue()) doc.asis(get_footer().getvalue()) return doc
def handle_main_filters(ctx: context.Context, relations: areas.Relations, refcounty_id: str) -> yattag.doc.Doc: """Handlers the filter part of the main wsgi page.""" items: List[yattag.doc.Doc] = [] doc = yattag.doc.Doc() with doc.tag("span", id="filter-based-on-position"): with doc.tag("a", href="#"): doc.text(tr("Based on position")) items.append(doc) doc = yattag.doc.Doc() prefix = ctx.get_ini().get_uri_prefix() with doc.tag("a", href=prefix + "/filter-for/everything"): doc.text(tr("Show complete areas")) items.append(doc) # Sorted set of refcounty values of all relations. for refcounty in sorted({ relation.get_config().get_refcounty() for relation in relations.get_relations() }): items.append( handle_main_filters_refcounty(ctx, relations, refcounty_id, refcounty)) doc = yattag.doc.Doc() with doc.tag("h1"): doc.text(tr("Where to map?")) with doc.tag("p"): doc.text(tr("Filters:") + " ") for index, item in enumerate(items): if index: doc.text(" ¦ ") doc.asis(item.getvalue()) # Emit localized strings for JS purposes. with doc.tag("div", style="display: none;"): string_pairs = [ ("str-gps-wait", tr("Waiting for GPS...")), ("str-gps-error", tr("Error from GPS: ")), ("str-overpass-wait", tr("Waiting for Overpass...")), ("str-overpass-error", tr("Error from Overpass: "******"str-relations-wait", tr("Waiting for relations...")), ("str-relations-error", tr("Error from relations: ")), ("str-redirect-wait", tr("Waiting for redirect...")), ] for key, value in string_pairs: kwargs: Dict[str, str] = {} kwargs["id"] = key kwargs["data-value"] = value with doc.tag("div", **kwargs): pass return doc
def handle_invalid_refstreets(relations: areas.Relations) -> yattag.doc.Doc: """Expected request_uri: e.g. /osm/housenumber-stats/hungary/invalid-refstreets.""" doc = yattag.doc.Doc() doc.asis(get_toolbar(relations).getvalue()) for relation in relations.get_relations(): invalid_refstreets = areas.get_invalid_refstreets(relation) osm_invalids, ref_invalids = invalid_refstreets if not osm_invalids and not ref_invalids: continue with doc.tag("h1"): doc.text(relation.get_name()) doc.asis( util.invalid_refstreets_to_html(invalid_refstreets).getvalue()) doc.asis(get_footer().getvalue()) return doc