def compare(cls, a, b, onlyCommonKeys =False): if a == b: return True if a is None or b is None: return onlyCommonKeys if not onlyCommonKeys and len(a.keys()) != len(b.keys()): return False for name, value in cls.iter(a): if name not in b: if onlyCommonKeys: continue return False # Compare dict values if isinstance(value, dict): if isinstance(b[name], dict): if not cls.compare(value, b[name], onlyCommonKeys=onlyCommonKeys): return False # Compare list and tuples if isinstance(value, list) or isinstance(value, tuple): from pyaid.list.ListUtils import ListUtils if not ListUtils.compare(value, b[name]): return False if value != b[name]: return False return True
def compare(cls, a, b): if a == b: return True if a is None or b is None: return False if len(a.keys()) != len(b.keys()): return False for name, value in a.iteritems(): if name not in b: return False # Compare dict values if isinstance(value, dict): if isinstance(b[name], dict): if not cls.compare(value, b[name]): return False # Compare list and tuples if isinstance(value, list) or isinstance(value, tuple): from pyaid.list.ListUtils import ListUtils if not ListUtils.compare(value, b[name]): return False if value != b[name]: return False return True