Explorar o código

If there is a small space for ellipsis_truncate, show '...' only

Abogical %!s(int64=8) %!d(string=hai) anos
pai
achega
76638d0562
Modificáronse 1 ficheiros con 3 adicións e 4 borrados
  1. 3 4
      src/borg/helpers.py

+ 3 - 4
src/borg/helpers.py

@@ -1200,6 +1200,8 @@ def ellipsis_truncate(msg, space):
     from .platform import swidth
     ellipsis_width = swidth('...')
     msg_width = swidth(msg)
+    if space < 8:
+        return '...' + ' ' * (space - ellipsis_width)
     if space < ellipsis_width + msg_width:
         return '%s...%s' % (swidth_slice(msg, space // 2 - ellipsis_width),
                             swidth_slice(msg, -space // 2))
@@ -1262,10 +1264,7 @@ class ProgressIndicatorPercent:
                 terminal_space = get_terminal_size(fallback=(-1, -1))[0]
                 if terminal_space != -1:
                     space = terminal_space - len(self.msg % tuple([pct] + info[:-1] + ['']))
-                    if space < 8:
-                        info[-1] = ' ' * space
-                    else:
-                        info[-1] = ellipsis_truncate(info[-1], space)
+                    info[-1] = ellipsis_truncate(info[-1], space)
                 return self.output(self.msg % tuple([pct] + info), justify=False)
 
             return self.output(self.msg % pct)