Mercurial > public > mercurial-scm > hg-stable
diff mercurial/bundle2.py @ 21644:17755dd8c509
bundle2: introduce a bundle2caps function
The process of decoding remote bundle2caps blob into a dictionary is cumbersome.
We move it into a small helper function. This will clarify code that reads
bundle2 capabilities of peers and helps using it in new places.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Sat, 24 May 2014 16:20:09 -0700 |
parents | 7c5a85619dca |
children | 35095f332846 |
line wrap: on
line diff
--- a/mercurial/bundle2.py Thu May 22 12:58:07 2014 -0700 +++ b/mercurial/bundle2.py Sat May 24 16:20:09 2014 -0700 @@ -769,6 +769,13 @@ self.consumed = True return data +def bundle2caps(remote): + """return the bundlecapabilities of a peer as dict""" + raw = remote.capable('bundle2-exp') + if not raw and raw != '': + return {} + capsblob = urllib.unquote(remote.capable('bundle2-exp')) + return decodecaps(capsblob) @parthandler('b2x:changegroup') def handlechangegroup(op, inpart):