# Path: auto_forensicate/ux/zenity.py
# def GetYesNo(text):
# def GetText(text):
# def CheckList(column_names, data, title=None):


from auto_forensicate.ux import zenity
    while not text:
      text = zenity.GetText(message)
  # TODO: Sanitize input here, as this will be used to construct GCS paths.
  return text.decode()


def AskDiskList(disk_list):
  """Asks the user to select which disks to copy.

  Args:
    disk_list(list(DiskArtifact)): list of disks.

  Returns:
    list(DiskArtifact): a list of devices.
  """
  disk_description_map = dict(
      zip(
          [disk.GetDescription() for disk in disk_list],
          [disk for disk in disk_list],
      )
  )

  data = []
  for disk in disk_list:
    # Default is to un-check block devices that are not internal disks.
    data.append(str(disk.ProbablyADisk()))
    data.append(disk.GetDescription())

  choices = []
  while not choices:

# Path: auto_forensicate/ux/zenity.py
# def GetYesNo(text):
# def GetText(text):
# def CheckList(column_names, data, title=None):


# Path: auto_forensicate/ux/gui.py
from auto_forensicate.ux import zenity

    while not text:
      text = zenity.GetText(message)
  # TODO: Sanitize input here, as this will be used to construct GCS paths.
  return text.decode()


def AskDiskList(disk_list):
  """Asks the user to select which disks to copy.

  Args:
    disk_list(list(DiskArtifact)): list of disks.

  Returns:
    list(DiskArtifact): a list of devices.
  """
  disk_description_map = dict(
      zip(
          [disk.GetDescription() for disk in disk_list],
          [disk for disk in disk_list],
      )
  )

  data = []
  for disk in disk_list:
    # Default is to un-check block devices that are not internal disks.
    data.append(str(disk.ProbablyADisk()))
    data.append(disk.GetDescription())

  choices = []
  while not choices:

    choices = zenity.CheckList(