2012-10-12 13 views
5

Ich habe PyXB verwendet, um Python-Module aus einer Java/Spring-Plattform zu generieren, die ihre Klassenschemata im XSD-Format über eine RESTfull-API verfügbar macht.PyXB- und Python-Frameworks

Ich bin jetzt in der Lage, die XML-Daten, die die gleiche Plattform dient, mit diesen PyXB-Binding-Klassen/Module zu analysieren.

Meine Frage ist:

  • Wie kann ich diese Klassen nutzen, in Frameworks wie Django oder Pyramide, dynamisches Modell Formen zu bauen, Tabellen, usw., wie ich mit Modellen von Modellen kommen tun würde. py django ORM, oder über colander/deform oder pyramid-simpleform?
  • Hat jemand PyXB-Klassen in einem dieser Frameworks noch verwendet?
+0

Ich glaube, ich schließlich zu generateds bewegte (http://packages.python.org/generateDS), die Art und Weise saubereren Code aus meinen Schema erzeugt. Aber die Frage nach der Verwendung nachher durch dynamisches Generieren eines Colander-Schemas aus dieser generateDS/PyXB-generierten Klasse bleibt bestehen. –

Antwort

2

Eine Möglichkeit wäre, eine Zuordnung von PyXB-Bindungen zur Formularbibliothek zu erstellen. Zum Beispiel sollte es nicht zu schwer sein, einen Code zu schreiben, der ein Colander-Schema aus einer PyXB-Klasse generiert. Sobald Sie das Schema haben, benötigen Sie nur noch eine Möglichkeit, Ihre Objekte im selben Format zu serialisieren und zu deserialisieren (was ganz einfach ist: nur Werte in Listen und Dicts), und Sie können Formulare aus PyXB-Objekten erstellen und speichern zurück.

Dies wurde bereits mit Sieb und Sqlalchemy getan, und the code for ColanderAlchemy kann Ihnen einige Anregungen geben, wie es geht.

Bonuspunkte, wenn Sie es auf pypi setzen :)

+0

Ich habe ColanderAlchemy vor zwei Tagen entdeckt und auch daran gedacht, in den Code zu schauen, um mich inspirieren zu lassen. Vielen Dank. –