Exemple #1
0
def update_missing_streets(relations: areas.Relations) -> None:
    """Update the relation's street coverage stats."""
    logging.info("update_missing_streets: start")
    for relation_name in relations.get_active_names():
        relation = relations.get_relation(relation_name)
        streets = relation.get_config().should_check_missing_streets()
        if streets == "no":
            continue

        relation.write_missing_streets()
    logging.info("update_missing_streets: end")
Exemple #2
0
def update_ref_streets(relations: areas.Relations) -> None:
    """Update the reference street list of all relations."""
    for relation_name in relations.get_active_names():
        logging.info("update_ref_streets: start: %s", relation_name)
        relation = relations.get_relation(relation_name)
        reference = util.Config.get_reference_street_path()
        streets = relation.get_config().should_check_missing_streets()
        if streets == "no":
            continue

        relation.write_ref_streets(reference)
        logging.info("update_ref_streets: end: %s", relation_name)
Exemple #3
0
def update_ref_streets(relations: areas.Relations, config: configparser.ConfigParser) -> None:
    """Update the reference street list of all relations."""
    for relation_name in relations.get_active_names():
        logging.info("update_ref_housenumbers: start: %s", relation_name)
        relation = relations.get_relation(relation_name)
        reference = config.get('wsgi', 'reference_street').strip()
        streets = relation.get_config().should_check_missing_streets()
        if streets == "no":
            continue

        relation.write_ref_streets(reference)
        logging.info("update_ref_housenumbers: end: %s", relation_name)
Exemple #4
0
def update_missing_streets(relations: areas.Relations, update: bool) -> None:
    """Update the relation's street coverage stats."""
    info("update_missing_streets: start")
    for relation_name in relations.get_active_names():
        relation = relations.get_relation(relation_name)
        if not update and os.path.exists(relation.get_files().get_streets_percent_path()):
            continue
        streets = relation.get_config().should_check_missing_streets()
        if streets == "no":
            continue

        relation.write_missing_streets()
    info("update_missing_streets: end")
Exemple #5
0
def update_ref_streets(relations: areas.Relations, update: bool) -> None:
    """Update the reference street list of all relations."""
    for relation_name in relations.get_active_names():
        relation = relations.get_relation(relation_name)
        if not update and os.path.exists(relation.get_files().get_ref_streets_path()):
            continue
        reference = config.Config.get_reference_street_path()
        streets = relation.get_config().should_check_missing_streets()
        if streets == "no":
            continue

        info("update_ref_streets: start: %s", relation_name)
        relation.write_ref_streets(reference)
        info("update_ref_streets: end: %s", relation_name)
Exemple #6
0
def update_ref_housenumbers(ctx: context.Context, relations: areas.Relations,
                            update: bool) -> None:
    """Update the reference housenumber list of all relations."""
    for relation_name in relations.get_active_names():
        relation = relations.get_relation(relation_name)
        if not update and os.path.exists(
                relation.get_files().get_ref_housenumbers_path()):
            continue
        references = ctx.get_ini().get_reference_housenumber_paths()
        streets = relation.get_config().should_check_missing_streets()
        if streets == "only":
            continue

        info("update_ref_housenumbers: start: %s", relation_name)
        relation.write_ref_housenumbers(references)
        info("update_ref_housenumbers: end: %s", relation_name)
Exemple #7
0
def update_osm_housenumbers(relations: areas.Relations) -> None:
    """Update the OSM housenumber list of all relations."""
    for relation_name in relations.get_active_names():
        logging.info("update_osm_housenumbers: start: %s", relation_name)
        retry = 0
        while should_retry(retry):
            if retry > 0:
                logging.info("update_osm_housenumbers: try #%s", retry)
            retry += 1
            try:
                overpass_sleep()
                relation = relations.get_relation(relation_name)
                query = relation.get_osm_housenumbers_query()
                relation.get_files().write_osm_housenumbers(overpass_query.overpass_query(query))
                break
            except urllib.error.HTTPError as http_error:
                logging.info("update_osm_housenumbers: http error: %s", str(http_error))
        logging.info("update_osm_housenumbers: end: %s", relation_name)
Exemple #8
0
def update_osm_housenumbers(relations: areas.Relations, update: bool) -> None:
    """Update the OSM housenumber list of all relations."""
    for relation_name in relations.get_active_names():
        relation = relations.get_relation(relation_name)
        if not update and os.path.exists(relation.get_files().get_osm_housenumbers_path()):
            continue
        info("update_osm_housenumbers: start: %s", relation_name)
        retry = 0
        while should_retry(retry):
            if retry > 0:
                info("update_osm_housenumbers: try #%s", retry)
            retry += 1
            try:
                overpass_sleep()
                query = relation.get_osm_housenumbers_query()
                relation.get_files().write_osm_housenumbers(overpass_query.overpass_query(query))
                break
            except urllib.error.HTTPError as http_error:
                info("update_osm_housenumbers: http error: %s", str(http_error))
        info("update_osm_housenumbers: end: %s", relation_name)
Exemple #9
0
def update_missing_housenumbers(relations: areas.Relations,
                                update: bool) -> None:
    """Update the relation's house number coverage stats."""
    info("update_missing_housenumbers: start")
    for relation_name in relations.get_active_names():
        relation = relations.get_relation(relation_name)
        if not update and os.path.exists(
                relation.get_files().get_housenumbers_percent_path()):
            continue
        streets = relation.get_config().should_check_missing_streets()
        if streets == "only":
            continue

        orig_language = i18n.get_language()
        relation.write_missing_housenumbers()
        for language in ["en", "hu"]:
            i18n.set_language(language)
            cache.get_missing_housenumbers_html(relation)
        i18n.set_language(orig_language)
    info("update_missing_housenumbers: end")
Exemple #10
0
def update_osm_housenumbers(ctx: context.Context, relations: areas.Relations,
                            update: bool) -> None:
    """Update the OSM housenumber list of all relations."""
    for relation_name in relations.get_active_names():
        relation = relations.get_relation(relation_name)
        if not update and os.path.exists(
                relation.get_files().get_osm_housenumbers_path()):
            continue
        info("update_osm_housenumbers: start: %s", relation_name)
        retry = 0
        while should_retry(retry):
            if retry > 0:
                info("update_osm_housenumbers: try #%s", retry)
            retry += 1
            overpass_sleep(ctx)
            query = relation.get_osm_housenumbers_query()
            buf, err = overpass_query.overpass_query(ctx, query)
            if err:
                info("update_osm_housenumbers: http error: %s", err)
                continue
            relation.get_files().write_osm_housenumbers(ctx, buf)
            break
        info("update_osm_housenumbers: end: %s", relation_name)