changeset 3767:1861fa38a6a7

Move ellipsis code to util.ellipsis() and improve maxlength handling.
author Thomas Arendsen Hein <thomas@intevation.de>
date Sat, 02 Dec 2006 22:35:17 +0100
parents 581665242c07
children 6ae3685be45d
files mercurial/commands.py mercurial/util.py
diffstat 2 files changed, 8 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -3031,8 +3031,7 @@ def dispatch(args):
         elif not inst[1]:
             u.warn(_(" empty string\n"))
         else:
-            u.warn("\n%r%s\n" %
-                    (inst[1][:400], len(inst[1]) > 400 and '...' or ''))
+            u.warn("\n%r\n" % util.ellipsis(inst[1]))
     except util.Abort, inst:
         u.warn(_("abort: %s\n") % inst)
     except TypeError, inst:
--- a/mercurial/util.py
+++ b/mercurial/util.py
@@ -1032,6 +1032,13 @@ def shortuser(user):
         user = user[:f]
     return user
 
+def ellipsis(text, maxlength=400):
+    """Trim string to at most maxlength (default: 400) characters."""
+    if len(text) <= maxlength:
+        return text
+    else:
+        return "%s..." % (text[:maxlength-3])
+
 def walkrepos(path):
     '''yield every hg repository under path, recursively.'''
     def errhandler(err):