Ich habe bei einem aktuellen Projekt den Fall, dass ich aus verschiedenen externen Formaten lese, wobei die Bezeichner für die selben Informationen verschieden sind. Ich möchte nun besonders elegant in den Parser-Objekten die Zuordnung der jeweiligen Bezeichner zum internen Format vornehmen. Mein Ansatz ist nun, das interne Objekt wie folgt aufzubauen:
Code: Alles auswählen
class Intern(dict):
FOO, BAR = "var_a", "var_b"
def __init__(self):
self.var_a = True
self.var_b = False
return
def __setitem__(self, item, value):
self.__setattr__(item, value)
return
test = Intern()
test[Test.FOO] = "New Value"
Code: Alles auswählen
class Parser(object):
SECTIONS = {"extern_a": Intern.FOO, "extern_b": Intern.BAR}
def read(self):
store = Intern()
for extern, intern in Parser.SECTIONS.iteritems():
data = extern.upper() # Auslesen der Informationen etc. pp.
store[intern] = data
Code: Alles auswählen
class Parser(object):
SECTIONS = {"extern_a": Intern.FOO, "extern_b": Intern.BAR}
def read(self):
store = Intern()
for extern, intern in Parser.SECTIONS.iteritems():
data = extern.upper() # Auslesen der Informationen etc. pp.
store.__setattr__(intern, data)
Vielen Dank im voraus!