class_docstr: Class which encapsulates logit of the master.
docstr: Asks confirmation and then deletes entries with keys.
  
  Args:
    keys_to_delete: list of datastore keys for which entries should be deleted
code: def _cleanup_keys_with_confirmation(self, keys_to_delete):
      """Asks confirmation and then deletes entries with keys.
  
      Args:
        keys_to_delete: list of datastore keys for which entries should be deleted
      """
      print("Round name: ", self.round_name)
      print("Number of entities to be deleted: ", len(keys_to_delete))
      if not keys_to_delete:
          return
      if self.verbose:
          print("Entities to delete:")
          idx = 0
          prev_key_prefix = None
          dots_printed_after_same_prefix = False
          for k in keys_to_delete:
              if idx >= 20:
                  print("   ...")
                  print("   ...")
                  break
              key_prefix = (
                  k.flat_path[0:1]
                  if k.flat_path[0] in ["SubmissionType", "WorkType"]
                  else k.flat_path[0]
              )
              if prev_key_prefix == key_prefix:
                  if not dots_printed_after_same_prefix:
                      print("   ...")
                  dots_printed_after_same_prefix = True
              else:
                  print("  ", k)
                  dots_printed_after_same_prefix = False
                  idx += 1
              prev_key_prefix = key_prefix
      print()
      inp = input_str(
          'Are you sure? (type "yes" without quotes to confirm): '
      )
      if inp != "yes":
          return
      with self.datastore_client.no_transact_batch() as batch:
          for k in keys_to_delete:
              batch.delete(k)
      print("Data deleted")
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import argparse
  import collections
  from collections import defaultdict
  import csv
  from io import BytesIO
  import logging
  import os
  import pickle
  import random
  import time
  from six import iteritems
  from six import iterkeys
  from six import itervalues
  from six.moves import input
  import eval_lib
label_desc: Use image node_id 14 for calling the EvaluationMaster obj's underlying member method code with example usage: obj._cleanup_keys_with_confirmation(keys_to_delete) without return types