OPENWOWI Wowiport SQLAlchemy overlay


Keywords
openwowi, python3, wowiport
License
GPL-3.0
Install
pip install wowicache==1.0.16

Documentation

WowiCache

WOWIPORT OPENWOWI API SqlAlchemy Overlay

Allgemein

Dieses Paket ermöglicht den Aufbau eines lokalen Caches aus OPENWOWI-Daten. Der Cache baut sich mit Hilfe des WowiPy-Moduls auf. Bitte klÀren Sie vor Benutzung dieses Moduls, ob Ihr geplanter Anwendungszweck im Rahmen der Nutzungsbedingungen Dr. Klein Wowi Digital AG erlaubt ist.

Warum eigentlich?

Der bevorzugte Anwendungsfall ist sicherlich die direkte Abfrage von DatensĂ€tzen aus OPENWOWI. Aktuell ist jedoch eine Abfrage, wie "Welche Person gehört zu dieser Telefonnummer" oder "Gib mir alle GebĂ€ude der X-Str." nicht direkt möglich. Diese FunktionslĂŒcke wird mit diesem Modul geschlossen, da man nach Aufbau des Caches entweder direkt in der erzeugten Datenbank arbeiten oder das vereinfachte DB-Modell nutzen kann.

Installation

pip install wowicache

Funktionen aktuell

  • Ablage der Daten diverser OPENWOWI-Endpunkte in eine SQLAlchemy-kompatible Datenbank (MySQL, MariaDB, sqlite, Postgres, ...)
  • Abfrage der Daten in einem vereinfachten Objektmodell mit RĂŒckwĂ€rtssuche (siehe Beispiel)

Anwendungsbeispiel

Cache aufbauen und GebÀude daraus auslesen, die in der Teststr. liegen

from wowicache.models import WowiCache, Building
from wowicache import update_cache
from dotenv import dotenv_values
import os

env_file = os.path.join(os.path.abspath(os.path.dirname(__file__)), '.env')
settings = dotenv_values(env_file)

cache = WowiCache(settings.get("db_connection_string"))
update_cache.cache_to_db(env_file)

buildings = cache.session.query(Building).filter(Building.street.like('%Teststr%'))
for building in buildings:
    print(building.building_type_name)
    print(building.street_complete)