code: def _xform_file_url_to_file_name(self, file_url: Path) -> str:
      # Convert media_path to file name. This is done to support duplicate media_names with
      # different complete paths. Without conversion, we cannot copy files with same name but
      # different paths. Eg., a/b/my.mp4 and a/b/c/my.mp4.
      # xformed_file_name = zlib.crc32(str(file_url).encode("utf-8")) & 0xFFFFFFFF
      # return str(xformed_file_name)
  
      # Previous approach with hashing is commented out above. Since we now use symbolic link, the only
      # thing we need to worry about is the same file name under different directory. This motivates us
      # to just breakdown directory also as part of file name. Additionally, it does not use hashing,
      # which avoids computation overhead.
      file_path_str = str(file_url)
      file_path = re.sub(r"[^a-zA-Z0-9 \.\n]", "_", file_path_str)
      return file_path
  
imports: import os
  import re
  import shutil
  from pathlib import Path
  import pandas
  from evadb.catalog.models.table_catalog import TableCatalogEntry
  from evadb.database import EvaDBDatabase
  from evadb.models.storage.batch import Batch
  from evadb.parser.table_ref import TableInfo
  from evadb.storage.abstract_storage_engine import AbstractStorageEngine
  from evadb.storage.sqlite_storage_engine import SQLStorageEngine
  from evadb.utils.logging_manager import logger
label_desc: Use image node_id 4 for calling the AbstractMediaStorageEngine obj's underlying member method code with example usage: obj._xform_file_url_to_file_name(file_url) and returns: file_path