Ist irgendjemand so etwas bekannt? Oder wenigstens irgendetwas in diese Richtung?
Oder ein Parser von SQL mit den "create table"-Anweisungen zu den Python-Klassen?
Falls es das nicht gibt, will ich das eventuell selber implementieren. Dann sollte es am besten ein Modeller mit Eclipse Integration sein.
Clay ( http://www.azzurri.jp/en/clay/index.html ) sieht auf den ersten Blick ganz nett aus und legt die Daten auch in einer sinnvollen XML-Struktur ab, die relativ einfach zu parsen sein müsste:
http://paste.pocoo.org/show/188972/
Habt ihr sonst noch irgendwelche Vorschläge? Welche Library für das XML-Processing soll ich nehmen?
Edit: Topic changed.
[clay2py] Konvertiert XML-DB-Schemas in Python models
Habe mal ein erstes Konzept zu einem Parser von *.clay zu model.py entwickelt.
http://bitbucket.org/ms4py/clay2py
Hinweis: Bisher ist nur die "core.py" interessant. Die "model.py" ist die automatisch generierte Datei und die "relationship.py" enthält noch Null ausführbaren Code.
Meinungen, Anregungen?
(Fragen von oben sind natürlich trotzdem noch offen)
http://bitbucket.org/ms4py/clay2py
Hinweis: Bisher ist nur die "core.py" interessant. Die "model.py" ist die automatisch generierte Datei und die "relationship.py" enthält noch Null ausführbaren Code.
Meinungen, Anregungen?
(Fragen von oben sind natürlich trotzdem noch offen)
Zuletzt geändert von ms4py am Sonntag 14. März 2010, 23:55, insgesamt 1-mal geändert.
- Käptn Haddock
- User
- Beiträge: 169
- Registriert: Freitag 24. März 2006, 14:27
Leider hat Clay zumindest für Postgres noch einen SQL-Stand von 7.3/7.4. Ich benutze es deshalb mittlerweile nicht mehr zur SQL-Generierung.
Was ich cool fände, wäre neben der SQLAlchemy-Unterstützung auch gleich GeoAlchemy/PostGIS mit zu implementieren. Ich schau mir dein Projekt mal an und finde es eine gute Idee, eventuell kann ich ja in der Richtung auch was beitragen.
Grüssle Uwe
Was ich cool fände, wäre neben der SQLAlchemy-Unterstützung auch gleich GeoAlchemy/PostGIS mit zu implementieren. Ich schau mir dein Projekt mal an und finde es eine gute Idee, eventuell kann ich ja in der Richtung auch was beitragen.
Grüssle Uwe
---------------------------------
have a lot of fun!
have a lot of fun!
Wäre ja für meinen Anwendungsfall eigentlich irrelevant.Käptn Haddock hat geschrieben:Leider hat Clay zumindest für Postgres noch einen SQL-Stand von 7.3/7.4. Ich benutze es deshalb mittlerweile nicht mehr zur SQL-Generierung.
Ja, habe mir auch schon überlegt, ein Konzept für verschiedene Ausgabeformate einzuführen.Käptn Haddock hat geschrieben: Was ich cool fände, wäre neben der SQLAlchemy-Unterstützung auch gleich GeoAlchemy/PostGIS mit zu implementieren. Ich schau mir dein Projekt mal an und finde es eine gute Idee, eventuell kann ich ja in der Richtung auch was beitragen.
@mods: Langsam wäre vielleicht ein Verschieben ins "Showcase" oder "Ideen" Forum angebracht

Also, ich habe jetzt ein Konzept für sog. "dialects" eingebaut. Damit ist man in der Lage, die geparste Struktur in ein beliebiges Ausgabeformat zu konvertieren.
Auf der Gegenseite ist eventuell ein ähnliches Konzept sinnvoll, also dass es verschiedene Parser gibt und man nicht nur die *.clay Dateien verarbeiten kann. Gibt es hierfür Vorschläge? (am besten mit Beispiel-Inputfile)
Außerdem habe ich jetzt erste Versuche mit dem XML-Parsen (lxml) angestellt. Allerdings erscheinen mir diese noch etwas sehr ungeschickt und umständlich.
Vielleicht könnt ihr euch den Code mal anschauen und mir ein paar Tipps geben. (clay2py.parse)
Auf der Gegenseite ist eventuell ein ähnliches Konzept sinnvoll, also dass es verschiedene Parser gibt und man nicht nur die *.clay Dateien verarbeiten kann. Gibt es hierfür Vorschläge? (am besten mit Beispiel-Inputfile)
Außerdem habe ich jetzt erste Versuche mit dem XML-Parsen (lxml) angestellt. Allerdings erscheinen mir diese noch etwas sehr ungeschickt und umständlich.
Vielleicht könnt ihr euch den Code mal anschauen und mir ein paar Tipps geben. (clay2py.parse)
Nein, bis jetzt nicht. Aber das ziehlt ja auch am Anwendungsfall vorbei. Ich will ja kein django Model, sondern Elixirjens hat geschrieben:Django's inspectdb ist sicherlich bekannt, oder?

Selbst wenn, müsste ich einen großen Umweg gehen:
XML-DB-Model > SQL > SQL Execute > Introspect > Python-Model
Außerdem habe ich noch ein paar Gedanken im Hinterkopf für das mir dieses Projekt auch noch nützlich sein kann. Muss aber noch daran feilen, bis ich das in ein anständiges Konzept gepackt habe

Inzwischen funktioniert die gesamte Toolchain
Clay-Model > clay2py-Model > Elixir-Model
mit dem Beispiel des Elixir-Tutorials aus Abschnitt 4.
( http://elixir.ematia.de/trac/wiki/Tutor ... ationships )
Würde mich sehr über Feedback und Tipps freuen.
Hinweis: Das Model für clay2py ist als UML-Diagramm unter docs zu finden, ist für einen ersten Überblick vermutlich ganz interessant.
Clay-Model > clay2py-Model > Elixir-Model
mit dem Beispiel des Elixir-Tutorials aus Abschnitt 4.
( http://elixir.ematia.de/trac/wiki/Tutor ... ationships )
Würde mich sehr über Feedback und Tipps freuen.
Hinweis: Das Model für clay2py ist als UML-Diagramm unter docs zu finden, ist für einen ersten Überblick vermutlich ganz interessant.