Revision 4f31882e

b/lib/cli.py
259 259
  NO_PREFIX = "no_"
260 260
  UN_PREFIX = "-"
261 261
  kv_dict = {}
262
  for elem in data.split(","):
263
    if "=" in elem:
264
      key, val = elem.split("=", 1)
265
    else:
266
      if elem.startswith(NO_PREFIX):
267
        key, val = elem[len(NO_PREFIX):], False
268
      elif elem.startswith(UN_PREFIX):
269
        key, val = elem[len(UN_PREFIX):], None
262
  if data:
263
    for elem in data.split(","):
264
      if "=" in elem:
265
        key, val = elem.split("=", 1)
270 266
      else:
271
        key, val = elem, True
272
    if key in kv_dict:
273
      raise errors.ParameterError("Duplicate key '%s' in option %s" %
274
                                  (key, opt))
275
    kv_dict[key] = val
267
        if elem.startswith(NO_PREFIX):
268
          key, val = elem[len(NO_PREFIX):], False
269
        elif elem.startswith(UN_PREFIX):
270
          key, val = elem[len(UN_PREFIX):], None
271
        else:
272
          key, val = elem, True
273
      if key in kv_dict:
274
        raise errors.ParameterError("Duplicate key '%s' in option %s" %
275
                                    (key, opt))
276
      kv_dict[key] = val
276 277
  return kv_dict
277 278

  
278 279

  
b/test/ganeti.cli_unittest.py
75 75
      self.failUnlessRaises(ParameterError, cli._SplitKeyVal,
76 76
                            "option", data)
77 77

  
78
  def testEmptyData(self):
79
    """Test how we handle splitting an empty string"""
80
    self.failUnlessEqual(cli._SplitKeyVal("option", ""), {})
81

  
78 82

  
79 83
class TestToStream(unittest.TestCase):
80 84
  """Thes the ToStream functions"""

Also available in: Unified diff