code: def get_provider_id_from_file_name(file_path: Path) -> str | None:
      # is_relative_to is only available in Python 3.9 - we should simplify this check when we are Python 3.9+
      try:
          relative_path = file_path.relative_to(AIRFLOW_PROVIDERS_DIR)
      except ValueError:
          try:
              relative_path = file_path.relative_to(
                  AIRFLOW_SYSTEM_TESTS_PROVIDERS_DIR
              )
          except ValueError:
              try:
                  relative_path = file_path.relative_to(
                      AIRFLOW_TESTS_PROVIDERS_DIR
                  )
              except ValueError:
                  errors.append(
                      f"Wrong file not in the providers package = {file_path}"
                  )
                  return None
      provider_id = get_provider_id_from_relative_import_or_file(
          str(relative_path)
      )
      if provider_id is None and file_path.name not in [
          "__init__.py",
          "get_provider_info.py",
      ]:
          if relative_path.as_posix().startswith(
              tuple(suspended_paths)
          ):
              return None
          else:
              warnings.append(
                  f"We had a problem to classify the file {file_path} to a provider"
              )
      return provider_id
  
imports: from __future__ import annotations
  import hashlib
  import json
  import os
  import sys
  from ast import Import, ImportFrom, NodeVisitor, parse
  from collections import defaultdict
  from enum import Enum
  from pathlib import Path
  from typing import Any, List
  import yaml
  from rich.console import Console
label_desc: Use image node_id 5 for calling a global function with example usage: get_provider_id_from_file_name(file_path) and returns: provider_id, None, None