def read(self, lines): assert(isinstance(lines,list)) m = re.match("\s*getNodeId.*:[^0-9a-f]*([0-9a-f]+).*", lines[0]) if m: self.nodeId = m[1] lines = lines[1:] while len(lines) > 0: routingTable = RoutingTable() try: assert(isinstance(lines, list)) lines = routingTable.read(lines) assert(isinstance(lines, list)) self.routingTables.append(routingTable) except TableHeaderException as e: return lines except TableEntryException as e: return lines