def kv_to_map(kvs): def convert(v): # string if v.startswith("'"): return v[1:-1] # int try: return int(v) except ValueError: pass # float try: return float(v) except ValueError: pass # boolean return to_bool(v) result = {} for kv in kvs: k, v = kv.split(":") # key is always considered a string, value needs to be converted result[k.strip()] = convert(v.strip()) return result
def kv_to_map(kvs): def convert(v): # string if v.startswith("'"): return v[1:-1] # int try: return int(v) except ValueError: pass # float try: return float(v) except ValueError: pass # boolean if v.lower() == "false": return False elif v.lower() == "true": return True else: raise ValueError("Could not convert value '%s'" % v) result = {} for kv in kvs: k, v = kv.split(":") # key is always considered a string, value needs to be converted result[k.strip()] = convert(v.strip()) return result