diff --git a/record.py b/record.py index 48d863f..58b4168 100644 --- a/record.py +++ b/record.py @@ -45,6 +45,7 @@ class RecordCollection(): try: current[spl[0]] = spl[1] except IndexError: + # TODO: maybe add line numbers? raise FileParsingError(f"error parsing '{i}'") else: @@ -61,9 +62,17 @@ class RecordCollection(): for i in self.objects: current = self.objects[i] try: - for j, k in zip( - current['inherit'].split(' '), + inherit = current['inherit'].split(' ') + inherit_order = \ [int(i) for i in current['inherit_order'].split(' ')] + + # TODO: add more precise error checking + if not len(inherit) == len(inherit_order): + raise FileParsingError("len(inherit) != len(inherit_order)") + + for j, k in zip( + inherit, + inherit_order ): current.parents[j] = self.objects[j]