Mercurial > hg
view mercurial/dicthelpers.py @ 18829:8843182f3514
color: drop unnecessary global statement
author | Simon Heimberg <simohe@besonet.ch> |
---|---|
date | Thu, 21 Mar 2013 18:16:49 +0100 |
parents | a45e44d76c81 |
children | 860d36b763ae |
line wrap: on
line source
# dicthelpers.py - helper routines for Python dicts # # Copyright 2013 Facebook # # This software may be used and distributed according to the terms of the # GNU General Public License version 2 or any later version. def _diffjoin(d1, d2, default, compare): res = {} if d1 is d2 and compare: # same dict, so diff is empty return res for k1, v1 in d1.iteritems(): if k1 in d2: v2 = d2[k1] if not compare or v1 != v2: res[k1] = (v1, v2) else: res[k1] = (v1, default) if d1 is d2: return res for k2 in d2: if k2 not in d1: res[k2] = (default, d2[k2]) return res def diff(d1, d2, default=None): return _diffjoin(d1, d2, default, True) def join(d1, d2, default=None): return _diffjoin(d1, d2, default, False)