def __init__(self, filename):
        """
        Initialize the internal structures of the SQL parser Base
        :param filename: path to load the database from
        """

        super(SQLDataBase, self).__init__(filename)

        self.SQL_connection = None
        self.db_table_name = None

        if isinstance(filename, str):
            if os.path.isfile(filename):
                self.SQL_connection = sqlite3.connect(self.db_file_name)

                # Get Table name
                cursor = self.SQL_connection.cursor()
                result = \
                    cursor.execute(
                        "select * from sqlite_master "
                        "where type = 'table';").fetchall()
                if result and result[0] and result[0][1]:
                    self.db_table_name = result[0][1]
                else:
                    raise ValueError(
                        'dialogue Manager cannot specify Table Name from '
                        'database {0}'.format(
                            self.db_file_name))

            else:
                raise FileNotFoundError('Database file %s not found'
                                        % filename)
        else:
            raise ValueError('Unacceptable value for database file name: %s '
                             % filename)

        Initialize the internal structures of the SQL parser Base
        :param filename: path to load the database from
        
plato/domain/database.py