Skip to content

Schöneres Syncen: Code aufhübschen #8

@the-infinity

Description

@the-infinity

Den Code vom Sync-Client könnte man wirklich hübscher machen:

https://github.com/politik-bei-uns/daemon/blob/master/oparlsync/oparl_download/OparlDownload.py

Eine der fiesesten Dinge ist dabei diese riesige sehr abstrakte Loop. Eine der größten Gemeinheiten dort ist, dass sich document_type_obj zur Laufzeit von einem String zu einem Objekt ändert (uäh!), was von Mongoengine reinkommt und viel Spaß beim Debuggen gibt. Aber auch so: das ließe sich sicherlich aufhübschen, indem man das in mehr Codefragmente aufteilt.

Es ist auch eine Überlegung wert, manchmal nicht gar so abstrakt zu agieren. Diese extrem abstrakte Darstellung mit "alles definiert sich über das MongoEngine Datenmodell" hatte ich damals gewählt, weil wir nicht wussten, wie stabil und zuverlässig die OParl-Relationen auf nahezu alle Gegebenheiten passen. Da nun aber klar ist, wie gut OParl zur Realität passt, könnte man auch überlegen, das Abstraktionslevel zu senken, wenn das zu besser zu wartendem Code führt.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions