def add_infos(self, *keyvals, **kwargs):
    infos = dict(keyvals)
    kv_pairs = []
    for key, val in infos.items():
      key = key.strip()
      val = str(val).strip()
      if ':' in key:
        raise ValueError('info key "{}" must not contain a colon.'.format(key))
      kv_pairs.append((key, val))

    for k, v in kv_pairs:
      if k in self._info:
        raise ValueError('info key "{}" already exists with value {}. '
                         'Cannot add it again with value {}.'.format(k, self._info[k], v))
      self._info[k] = v

    try:
      with open(self._info_file, 'a') as outfile:
        for k, v in kv_pairs:
          outfile.write('{}: {}\n'.format(k, v))
    except IOError:
      if not kwargs.get('ignore_errors', False):
        raise
Check to see if this form is even needed
dataset/ETHPy150Open pantsbuild/pants/src/python/pants/base/run_info.py/RunInfo.add_infos--crossover with--dataset/ETHPy150Open dokterbob/satchmo/satchmo/apps/payment/forms.py/SimplePayShipForm.is_needed