Mercurial > public > mercurial-scm > hg
comparison mercurial/util.py @ 13228:d18a748d9c33
merge with stable
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Sat, 01 Jan 2011 18:42:04 -0600 |
parents | 3eee7b42d17e e3bf16703e26 |
children | 6bf39d88c857 |
comparison
equal
deleted
inserted
replaced
13218:1f4721de2ca9 | 13228:d18a748d9c33 |
---|---|
1242 r = author.find('>') | 1242 r = author.find('>') |
1243 if r == -1: | 1243 if r == -1: |
1244 r = None | 1244 r = None |
1245 return author[author.find('<') + 1:r] | 1245 return author[author.find('<') + 1:r] |
1246 | 1246 |
1247 def _ellipsis(text, maxlength): | |
1248 if len(text) <= maxlength: | |
1249 return text, False | |
1250 else: | |
1251 return "%s..." % (text[:maxlength - 3]), True | |
1252 | |
1247 def ellipsis(text, maxlength=400): | 1253 def ellipsis(text, maxlength=400): |
1248 """Trim string to at most maxlength (default: 400) characters.""" | 1254 """Trim string to at most maxlength (default: 400) characters.""" |
1249 if len(text) <= maxlength: | 1255 try: |
1250 return text | 1256 # use unicode not to split at intermediate multi-byte sequence |
1251 else: | 1257 utext, truncated = _ellipsis(text.decode(encoding.encoding), |
1252 return "%s..." % (text[:maxlength - 3]) | 1258 maxlength) |
1259 if not truncated: | |
1260 return text | |
1261 return utext.encode(encoding.encoding) | |
1262 except (UnicodeDecodeError, UnicodeEncodeError): | |
1263 return _ellipsis(text, maxlength)[0] | |
1253 | 1264 |
1254 def walkrepos(path, followsym=False, seen_dirs=None, recurse=False): | 1265 def walkrepos(path, followsym=False, seen_dirs=None, recurse=False): |
1255 '''yield every hg repository under path, recursively.''' | 1266 '''yield every hg repository under path, recursively.''' |
1256 def errhandler(err): | 1267 def errhandler(err): |
1257 if err.filename == path: | 1268 if err.filename == path: |