class_docstr: The MediaWiki Pages Table implementation
docstr: Pulls MediaWiki pages data.
  
  Parameters
  ----------
  query : ast.Select
     Given SQL SELECT query
  
  Returns
  -------
  pd.DataFrame
      Sendinblue Email Campaigns matching the query
  
  Raises
  ------
  ValueError
      If the query contains an unsupported condition
code: def select(self, query: ast.Select) -> pd.DataFrame:
      """Pulls MediaWiki pages data.
  
      Parameters
      ----------
      query : ast.Select
         Given SQL SELECT query
  
      Returns
      -------
      pd.DataFrame
          Sendinblue Email Campaigns matching the query
  
      Raises
      ------
      ValueError
          If the query contains an unsupported condition
      """
  
      select_statement_parser = SELECTQueryParser(
          query, "pages", self.get_columns()
      )
      (
          selected_columns,
          where_conditions,
          order_by_conditions,
          result_limit,
      ) = select_statement_parser.parse_query()
  
      title, page_id = None, None
      for condition in where_conditions:
          if condition[1] == "title":
              if condition[0] != "=":
                  raise ValueError(
                      f"Unsupported operator '{condition[0]}' for column '{condition[1]}' in WHERE clause."
                  )
              title = condition[2]
          elif condition[1] == "pageid":
              if condition[0] != "=":
                  raise ValueError(
                      f"Unsupported operator '{condition[0]}' for column '{condition[1]}' in WHERE clause."
                  )
              page_id = condition[2]
          else:
              raise ValueError(
                  f"Unsupported column '{condition[1]}' in WHERE clause."
              )
  
      pages_df = pd.json_normalize(
          self.get_pages(
              title=title, page_id=page_id, limit=result_limit
          )
      )
  
      select_statement_executor = SELECTQueryExecutor(
          pages_df, selected_columns, [], order_by_conditions
      )
      pages_df = select_statement_executor.execute_query()
  
      return pages_df
  
file_path: mindsdb/mindsdb/integrations/handlers/mediawiki_handler/mediawiki_tables.py
imports: import pandas
  from typing import List
  from mindsdb.integrations.libs.api_handler import APITable
  from mindsdb_sql.parser import ast
  from mindsdb.integrations.handlers.utilities.query_utilities import SELECTQueryParser, SELECTQueryExecutor
  from mindsdb.utilities import log
label_desc: Use image node_id 1 for calling the PagesTable obj's underlying member method code with example usage: obj.select(query) and returns: pages_df