def testPartitionRawLines(self): self.assertEquals([], partition_raw_lines([])) self.assertEquals([['']], partition_raw_lines([''])) self.assertEquals([['foo'], ['bar']], partition_raw_lines(['foo', 'bar'])) self.assertEquals([['foo'], ['bar']], partition_raw_lines(['foo', '+----+', 'bar'])) self.assertEquals([['foo', 'bar'], ['baz']], partition_raw_lines( ['+-----+', 'foo', 'bar', '----', 'baz']))
def testPartitionRawLines(self): self.assertEquals([], partition_raw_lines([])) self.assertEquals([['']], partition_raw_lines([''])) self.assertEquals( [['foo'], ['bar']], partition_raw_lines(['foo', 'bar'])) self.assertEquals( [['foo'], ['bar']], partition_raw_lines(['foo', '+----+', 'bar'])) self.assertEquals( [['foo', 'bar'], ['baz']], partition_raw_lines(['+-----+', 'foo', 'bar', '----', 'baz']))
def parse_table(raw_lines): row_partition = partition_raw_lines(raw_lines) lines = map(lambda row_string: join_rows(map(split_table_row, row_string)), row_partition) return unify_table(lines)