# HG changeset patch # User Adrian Buehlmann # Date 1347990708 -7200 # Node ID 77624012352502b96e72e6b67f28e473fbd63541 # Parent cc58dc47cb5ea2e737e9c095191f22a8b400cdca store: extract functions _encodefname and _decodefname diff -r cc58dc47cb5e -r 776240123525 mercurial/store.py --- a/mercurial/store.py Tue Sep 18 11:44:16 2012 +0200 +++ b/mercurial/store.py Tue Sep 18 19:51:48 2012 +0200 @@ -93,10 +93,24 @@ pass else: raise KeyError - return (lambda s: "".join([cmap[c] for c in encodedir(s)]), - lambda s: decodedir("".join(list(decode(s))))) + return (lambda s: ''.join([cmap[c] for c in s]), + lambda s: ''.join(list(decode(s)))) + +_encodefname, _decodefname = _buildencodefun() -encodefilename, decodefilename = _buildencodefun() +def encodefilename(s): + ''' + >>> encodefilename('foo.i/bar.d/bla.hg/hi:world?/HELLO') + 'foo.i.hg/bar.d.hg/bla.hg.hg/hi~3aworld~3f/_h_e_l_l_o' + ''' + return _encodefname(encodedir(s)) + +def decodefilename(s): + ''' + >>> decodefilename('foo.i.hg/bar.d.hg/bla.hg.hg/hi~3aworld~3f/_h_e_l_l_o') + 'foo.i/bar.d/bla.hg/hi:world?/HELLO' + ''' + return decodedir(_decodefname(s)) def _buildlowerencodefun(): '''