API Reference
Klassen
DownloadOZG
Die Hauptklasse für das Herunterladen von OZG-Formularen.
class DownloadOZG:
def __init__(self, path, uri, username, password, version):
"""
Initialisiert den OZG Downloader.
Args:
path (str): Zielverzeichnis für Downloads
uri (str): URI des Formulars
username (str): Benutzername für Authentication
password (str): Passwort für Authentication
version (int): Versionsnummer des Formulars
"""
Methoden
get()
def get(self):
"""
Lädt alle Formular-Dateien herunter und erstellt die Verzeichnisstruktur.
Downloads:
- JSON Schema (@@schema-view)
- Dependency Tree (@@deptree-view)
- Deform Template (@@deform-view)
Generiert:
- Python Formularklassen
- Test-Dateien
- Package-Struktur
"""
Funktionen
download()
def download(path: Path, username: str, password: str, version: int, uri: str):
"""
Hauptfunktion für den Download-Prozess.
Args:
path (Path): Zielverzeichnis
username (str): Benutzername
password (str): Passwort
version (int): Formular-Version
uri (str): Formular-URI
Example:
>>> download(Path("/tmp"), "user", "pass", 2, "https://example.com/form")
"""
format_version()
def format_version(version):
"""
Formatiert Versionsnummer für Verzeichnisnamen.
Args:
version (int|float): Versionsnummer
Returns:
str: Formatierte Version (z.B. "v2_0")
Example:
>>> format_version(2)
"v2_0"
>>> format_version(2.5)
"v2_5"
"""
main()
Templates
FORM_TEMPLATE
Template für generierte Python Formularklassen:
FORM_TEMPLATE = """from ritter.browser import TemplateLoader
from uv.ozg.forms import DefaultDocumentEditForm as BaseOZGEditForm
from uvcreha.endpoints.browser.document import (
DefaultDocumentEditForm as BaseREHAEditForm,
)
from uv.dynforms import dyn_form
from reha.prototypes.views.document import views
# ... Template-Inhalt
"""
FORM_TEST_TEMPLATE
Template für generierte Test-Dateien:
FORM_TEST_TEMPLATE = """def test_base(loaded_app):
assert "%s" in loaded_app.document_stores["ozg"].keys()
"""
Konstanten
URI
Standard-URI für Schema-Abfragen:
HTTP Endpoints
Das Tool greift auf folgende Endpoints zu:
Endpoint | Beschreibung | Parameter |
---|---|---|
@@schema-view |
JSON Schema des Formulars | version |
@@deptree-view |
Dependency Tree | version |
@@deform-view |
Deform Template | version |
Beispiel-Requests
# Schema abrufen
response = requests.get(
f"{uri}/@@schema-view?version={version}",
auth=HTTPBasicAuth(username, password)
)
# Dependency Tree abrufen
response = requests.get(
f"{uri}/@@deptree-view?version={version}",
auth=HTTPBasicAuth(username, password)
)
# Template abrufen
response = requests.get(
f"{uri}/@@deform-view?version={version}",
auth=HTTPBasicAuth(username, password)
)