code: def recursive_update(_dict, _update):
      
      for k, v in _update.items():
          if isinstance(v, collections.Mapping):
              r = recursive_update(_dict.get(k, {}), v)
              _dict[k] = r
          else:
              _dict[k] = _update[k]
      return _dict
docs: Same as dict.update, but updates also nested dicts instead of
      overriding then
  
      @type _dict: A
      @param _dict: dict to apply update to
  
      @type _update: A
      @param _update: dict to pick update data from
  
      @return: