Code: Alles auswählen
for module in modules:
attributes = module.attrib
try:
text=attributes["text"].decode("utf-8")
except Exception, ex:
text="".decode("utf-8")
try:
implements=attributes["implements"].decode("utf-8")
except Exception, ex:
implements="".decode("utf-8")
try:
name=attributes["name"].decode("utf-8")
except Exception, ex:
name="".decode("utf-8")
# Create Module
Module = model.modules_module(implements=implements, name=name, text=text)
# Append Module to Device
Device.module.append(Module)
Ich weiß, dass man das deutlich besser programmieren kann. Ich mache sowas erstmal straigt forward. Jetzt kommt die Optimierung und Pythonifizierung. Der gesamte Vorgang dauert auch eine Weile. Ich weiß allerdings nicht, ob es an den vielen try Blöcken liegt oder daran, dass die XML Dateien insgesamt über 56MB groß sind. Die Dateien darf man im übrigen nicht weitergeben. Oder zumindest nicht veröffentlichen. Ich habe beim "Hersteller" angefragt und der hat die Bitte abgelehnt, aber in veränderter Form wäre es erlaubt. Deshalb der Aufwand mit dem Konverter (außerdem ist die Datenbank bedeutend kleiner)
Habt ihr ein paar Verbesserungsvorschläge für mich? Ich weiß, ohne die XML Files ist es blöd. Gerhard könnte die kennen (sind die Partdescriptionfiles vom AVR Studio)
