docstr: constructor
  Args:
      name (str): the handler name
docstr_tok: ["constructor","Args",":","name","(","str",")",":","the","handler","name"]
code: def __init__(self, name, **kwargs):
      """constructor
      Args:
          name (str): the handler name
      """
      super().__init__(name)
  
      self.connection_args = kwargs.get("connection_data", {})
  
      self.client_id = self.connection_args.get("client_id", None)
      self.client_secret = self.connection_args.get(
          "client_secret", None
      )
      self.session = self.connect()
  
      self.session = None
      self.is_connected = False
  
      catalog_search_data = CatalogSearchTable(self)
      self.catalog_search_data = catalog_search_data
      self._register_table("catalog_search_data", catalog_search_data)
  
file_path: mindsdb/mindsdb/integrations/handlers/mendeley_handler/mendeley_handler.py
imports: from mindsdb_sql import parse_sql
  import pandas
  from mendeley import Mendeley
  from mindsdb.integrations.libs.api_handler import APIHandler, FuncParser
  from mendeley.session import MendeleySession
  from mindsdb.integrations.handlers.mendeley_handler.mendeley_tables import CatalogSearchTable
  from mindsdb.utilities import log
  from typing import Dict
  from mindsdb.integrations.libs.response import HandlerStatusResponse, HandlerResponse, RESPONSE_TYPE
label_desc: Use image node_id 1 to create a new MendeleyHandler object from inherited base classes: APIHandler with example: obj = MendeleyHandler(name)