code: def run(self):
      # Run default behavior first
      distutils.command.clean.clean.run(self)
  
      # Remove torchaudio extension
      for path in (ROOT_DIR / "src").glob("**/*.so"):
          print(f"removing '{path}'")
          path.unlink()
      # Remove build directory
      build_dirs = [
          ROOT_DIR / "build",
      ]
      for path in build_dirs:
          if path.exists():
              print(f"removing '{path}' (and everything under it)")
              shutil.rmtree(str(path), ignore_errors=True)
  
file_path: audio/setup.py
imports: import distutils.command.clean
  import os
  import re
  import shutil
  import subprocess
  from pathlib import Path
  import torch
  from setuptools import find_packages, setup
  from tools import setup_helpers
label_desc: Use image node_id 1 for calling the clean obj's underlying member method code with example usage: obj.run() without return types