Blame util.py

Ivan Mahonin b838e2
Ivan Mahonin b838e2
# this file may be used from any of other project files
Ivan Mahonin b838e2
# so don't import any project files here to avoid recursive imports
Ivan Mahonin b838e2
Ivan Mahonin b838e2
Ivan Mahonin b838e2
def mergedict(dest, src, prefix = None, allow_collisions = False, overwrite = True):
Ivan Mahonin b838e2
  for k, v in src.items():
Ivan Mahonin b838e2
    kk = k if prefix is None else prefix + k
Ivan Mahonin b838e2
    assert allow_collisions or kk not in dest
Ivan Mahonin b838e2
    if overwrite or kk not in dest:
Ivan Mahonin b838e2
      dest[kk] = v
Ivan Mahonin b838e2