ich habe eine Klasse, die ein verschachteltes XML generieren soll. Es gibt also mehrere SubElemente untereinander.
Alles funktioniert auch super, nur ist es anscheinend nicht pythonic genug - der Linter meckert mit diesen Hinweisen:
C0301: Line too long (107/100) (line-too-long)
R0914: Too many local variables (19/15) (too-many-locals)
R0903: Too few public methods (1/2) (too-few-public-methods)
Vor allem will ich irgendwie das "line too long" abstellen.
Nur wie soll man das umgehen gehen, bei mehreren for-loops in meinem Fall? Hier kommt man natürlich irgendwann immer weiter nach rechts.
Und "too many local variables" resultiert wohl auch durch durch das hierarchische Anhäufen.
Seht unten den Code.
Danke im vorraus!
Code: Alles auswählen
class XmlWriter():
def __init__(self, data):
self.data = data
def create(self, filename):
root = ET.Element("root")
level_0_list = self.data.level_0_list
for level_0_idx, level_0 in enumerate(level_0_list):
subelem_level_0 = ET.SubElement(
root, f"Level_0{level_0_idx}_{level_0.level_0_description}")
level_1_list = level_0.level_1_list
for level_1_idx, level_1 in enumerate(level_1_list):
subelem_level_1 = ET.SubElement(
subelem_level_1, f"Level_1{level_1_idx}_{level_1.level_1_description}")
level_2_list = level_1.level_2_list
for level_2_idx, level_2 in enumerate(level_2_list):
subelem_level_2 = ET.SubElement(
subelem_level_2, f"Level_2{level_2_idx}_{level_2.level_2_description}")
....