def import_(self, conn):
if self.print_progress:<EOL><INDENT>print('<STR_LIT>', self.__class__.__name__)<EOL><DEDENT>self._conn = conn<EOL>self.create_table(conn)<EOL>if self.mode in ('<STR_LIT:all>', '<STR_LIT>') and self.fname and self.exists() and self.table not in ignore_tables:<EOL><INDENT>self.insert_data(conn)<EOL><DEDENT>if self.mode in ('<STR_LIT:all>', '<STR_LIT:index>') and hasattr(self, '<STR_LIT:index>'):<EOL><INDENT>self.create_index(conn)<EOL><DEDENT>if self.mode in ('<STR_LIT:all>', '<STR_LIT>') and hasattr(self, '<STR_LIT>'):<EOL><INDENT>self.run_post_import(conn)<EOL><DEDENT>conn.commit()<EOL>
Do the actual import. Copy data and store in connection object.

        This function:
        - Creates the tables
        - Imports data (using self.gen_rows)
        - Run any post_import hooks.
        - Creates any indexs
        - Does *not* run self.make_views - those must be done
          after all tables are loaded.