code: def __call__(
      self, rest_endpoint, experiment_dir, nni_source_dir, **kwargs
  ):
      exp_id = osp.split(experiment_dir)[-1]
      proc1 = subprocess.run(
          [
              "nnictl",
              "experiment",
              "export",
              exp_id,
              "-t",
              "csv",
              "-f",
              "report.csv",
          ]
      )
      assert proc1.returncode == 0, (
          "`nnictl experiment export -t csv` failed with code %d"
          % proc1.returncode
      )
      with open("report.csv", "r") as f:
          print("Exported CSV file: \n")
          print("".join(f.readlines()))
          print("\n\n")
      remove("report.csv")
  
      proc2 = subprocess.run(
          [
              "nnictl",
              "experiment",
              "export",
              exp_id,
              "-t",
              "json",
              "-f",
              "report.json",
          ]
      )
      assert proc2.returncode == 0, (
          "`nnictl experiment export -t json` failed with code %d"
          % proc2.returncode
      )
      with open("report.json", "r") as f:
          print("Exported JSON file: \n")
          print("\n".join(f.readlines()))
          print("\n\n")
      remove("report.json")
  
imports: import os.path
  from os import remove
  import subprocess
  import json
  import requests
  from nni.experiment import Experiment
  from nni.tools.nnictl.updater import load_imported_data
  from utils import METRICS_URL, GET_IMPORTED_DATA_URL
label_desc: Use image node_id 1 for calling the ExportValidator obj's underlying member method code with example usage: obj.__call__(rest_endpoint, experiment_dir, nni_source_dir) without return types