Kann man sich auf dictionary Unordnung verlassen?
@Sirius3: Das bleibt trotzdem die eine offensichtliche Lösung. Oder sollen wir jetzt bei jeder Lösung auch davon ausgehen dass es Threads gibt die an allen möglichen Stellen alles mögliche machen könnten? Zumal niemand garantiert das `items()` atomar ist, also mit jeder anderen Lösung hier das Problem ebenfalls bestünde.
@Sirius3 Ohnehin ist es kein algorithmisches Problem, sondern einfach nur ein Bug, wenn jemand eine Datenstruktur ohne Locking zwischen mehreren Threads teilt.
Ich bekomme vom Parser erstmal für jedes Attribut eine Liste mit Strings der Werte, also für das 'title' Attribut z. B. ['Ich', 'bin', 'ein', 'Termin'] oder das 'categories' Attribut ['Ferien,', 'Urlaub'] und muss diese Werte ja dann noch durch string-, list-, int-, und datetime-Konverter schicken. Dort findet dann noch die eine oder andere Nachbearbeitung statt. Welche Werteliste zu welchem Konverter muss, steht eben in meinen ..._ATTR-dictionaries.snafu hat geschrieben:Wieso nutzt du für die Werttypen eigentlich Strings?
mutetella
@Sirius3
Auch wenn's natürlich Käse ist: Deine LC ist super verwegen und echt stylisch...

Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit
)

Zuerst erstellte ich die ..._ATTR-dictionaries mit den Funktionen direkt im Parser-Modul. Ich fand das aber unschön, da Änderungen an der 'Appointment'- oder 'Recurrence'-Klasse immer auch im Parser-Modul nachgetragen werden müssen. Zudem sind Attributsnamen und -typen Informationen, die IMHO nicht in ein Parser-Modul gehören. Deshalb habe ich die ..._ATTR-dictionaries in die Module der 'Appointment'- und 'Recurrence'-Klasse verlegt. Da gehören sie meiner Ansicht nach auch hin.Sirius3 hat geschrieben:Um so mehr die Frage, warum das Strings sind und nicht direkt die Konverter-Funktionen.
Wenn ich so darüber nachdenke: Vielleicht sollten ja nicht die Attribute über den Parser zum Konverter sondern die Konverter näher zu den Attributen rücken?
Vielleicht möchte ja einfach mal jemand auf die parse.ApptAttrParser Klasse d'raufschauen?
mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit
)
