INNER CODE UNIT · Python

build_terms

Zverik/every_door · tools/json_to_sqlite.py:335

    def build_terms(data):
        """Here we just build initial terms from the preset name."""
        for name, row in data.items():
            if skip_preset(name, row):
                continue
            for term in name.replace('_', '/').split('/')[1:]:
                if term:
                    yield 'tag', term, name, 5
            # Formerly we also added tag values, which seemed logical
            # (e.g. "fuel" for "amenity=fuel"). But that led to additional like 2 MB of data
            # and was of less use, since translations are mostly better for this.

    cur.execute(
        "create table preset_terms (lang text, term text, preset_name text, score integer);")
    cur.executemany(
        "insert into preset_terms (lang, term, preset_name, score) values (?, ?, ?, ?)",
        build_terms(data))
    # We build index later, after parsing translations

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…