def parse_multiargs()

in utilities/misc.py [0:0]


def parse_multiargs(args):
  """
  parses the p_num, intent, and object_name arguments from a parser created
  with default_multiargparse
  """
  from utilities.dataset import get_p_nums
  
  p_nums = args.p_num
  if p_nums is None:
    p_nums = list(range(1, 51))
  elif '-' in p_nums:
    first, last = p_nums.split('-')
    p_nums = list(range(int(first), int(last)+1))
  else:
    p_nums = [int(p) for p in p_nums.split(',')]

  intents = args.intent.split(',')

  object_names = args.object_name
  if object_names is not None:
    object_names = object_names.split(',')
    all_p_nums = []
    for intent in intents:
      for object_name in object_names:
        all_p_nums.extend([pn for pn in p_nums if pn in
                           get_p_nums(object_name, intent)])
    p_nums = list(set(all_p_nums))

  delattr(args, 'p_num')
  delattr(args, 'intent')
  delattr(args, 'object_name')

  return p_nums, intents, object_names, args