def parse_tables(self, markup):
tables = []<EOL>m = re.findall(self.re["<STR_LIT>"], markup)<EOL>for chunk in m:<EOL><INDENT>table = WikipediaTable()<EOL>table.properties = chunk.split("<STR_LIT:\n>")[<NUM_LIT:0>].strip("<STR_LIT>").strip()<EOL>self.connect_table(table, chunk, markup)<EOL>row = None<EOL>for chunk in chunk.split("<STR_LIT:\n>"):<EOL><INDENT>chunk = chunk.strip()<EOL>if chunk.startswith("<STR_LIT>"):<EOL><INDENT>title = self.plain(chunk.strip("<STR_LIT>"))<EOL>table.title = title<EOL><DEDENT>elif chunk.startswith("<STR_LIT>"):<EOL><INDENT>if row: <EOL><INDENT>row.properties = chunk.strip("<STR_LIT>").strip()<EOL>table.append(row)<EOL><DEDENT>row = None<EOL><DEDENT>elif chunk.startswith("<STR_LIT>"):<EOL><INDENT>pass<EOL><DEDENT>elif chunk.startswith("<STR_LIT:|>")or chunk.startswith("<STR_LIT:!>"):<EOL><INDENT>row = self.parse_table_row(chunk, row)<EOL><DEDENT><DEDENT>if row: table.append(row)<EOL>if len(table) > <NUM_LIT:0>:<EOL><INDENT>tables.append(table)<EOL><DEDENT><DEDENT>return tables<EOL>
Returns a list of tables in the markup.

        A Wikipedia table looks like:
        {| border="1"
        |-
        |Cell 1 (no modifier - not aligned)
        |-
        |align="right" |Cell 2 (right aligned)
        |-
        |}