code: def has(self, infra_name: str) -> bool:
      return infra_name in self.get_support_infra() and hasattr(
          self, infra_name
      )
  
imports: from __future__ import annotations
  from abc import abstractmethod
  from typing import Any, Set, Tuple, TYPE_CHECKING, Union
  import numpy
  from qlib.utils.time import epsilon_change
  import warnings
  import pandas
  from ..data.data import Cal
label_desc: Use image node_id 5 for calling the BaseInfrastructure obj's underlying member method code with example usage: obj.has(infra_name) and returns: unknown