def list()

in python-cli/mft_cli/airavata_mft_cli/operations.py [0:0]


def list(storage_path):

  metadata_resp = get_resource_metadata(storage_path)

  console = Console()
  table = Table()

  table.add_column('Name', justify='left')
  table.add_column('Type', justify='center')
  table.add_column('Size', justify='center')

  if (metadata_resp.WhichOneof('metadata') == 'directory') :
    for dir in metadata_resp.directory.directories:
      table.add_row('[bold]' + dir.friendlyName + '[/bold]', 'DIR', '')

    for file in metadata_resp.directory.files:
      table.add_row('[bold]' + file.friendlyName + '[/bold]', 'FILE', str(file.resourceSize))

  elif (metadata_resp.WhichOneof('metadata') == 'file'):
    table.add_row('[bold]' + metadata_resp.file.friendlyName + '[/bold]', 'FILE', str(metadata_resp.file.resourceSize))

  elif (metadata_resp.WhichOneof('metadata') == 'error'):
    print(metadata_resp.error)

  console.print(table)