@@ -22,15 +22,18 @@ def __init__(self, file: File):
22
22
self ._file_extensions = ['.uxd' ]
23
23
self ._table = None
24
24
self ._version = 2
25
+ self ._max_table_length = 0
25
26
26
27
def check (self ):
27
28
return self .file .suffix .lower () in self ._file_extensions
28
29
29
30
def _read_data (self , line : str ):
30
31
if self ._version == 2 :
31
32
try :
32
- for value in [self .as_number (x .strip ()) for x in line .split (' ' ) if x != '' ]:
33
- self ._table ['rows' ].append ([value ])
33
+ new_row = [self .as_number (x .strip ()) for x in line .split (' ' ) if x != '' ]
34
+ if len (new_row ) > 0 :
35
+ self ._max_table_length = max (self ._max_table_length , len (new_row ))
36
+ self ._table ['rows' ].append (new_row )
34
37
except ValueError :
35
38
pass
36
39
elif self ._version == 3 :
@@ -47,8 +50,6 @@ def _add_metadata(self, key, val):
47
50
48
51
def prepare_tables (self ):
49
52
tables = []
50
- tables = []
51
- # xml_str = re.sub(r'\sxmlns\s*([:=])', r' xmlns_removed\g<1>', self.file.string)
52
53
self ._table = self .append_table (tables )
53
54
data_rows = []
54
55
for row in self .file .fp .readlines ():
@@ -71,6 +72,10 @@ def prepare_tables(self):
71
72
for row in data_rows :
72
73
self ._read_data (row )
73
74
75
+ for row in self ._table ['rows' ]:
76
+ while len (row ) < self ._max_table_length :
77
+ row .append ('' )
78
+
74
79
if 'START' in self ._table ['metadata' ] and 'STEPSIZE' in self ._table ['metadata' ]:
75
80
end = self .as_number (self ._table ['metadata' ]['START' ]) + (
76
81
self .as_number (self ._table ['metadata' ]['STEPSIZE' ]) * (len (self ._table ['rows' ]) - 1 ))
0 commit comments