]> arthur.barton.de Git - bup.git/commitdiff
web: do not show size for dirs and symlinks
authorJohannes Berg <johannes@sipsolutions.net>
Sun, 17 May 2020 19:55:28 +0000 (21:55 +0200)
committerRob Browning <rlb@defaultvalue.org>
Sat, 16 Oct 2021 19:32:42 +0000 (14:32 -0500)
It's strange to see a lot of zeros for these items, just
don't show them by making the display_size None.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Reviewed-by: Rob Browning <rlb@defaultvalue.org>
Tested-by: Rob Browning <rlb@defaultvalue.org>
lib/bup/cmd/web.py

index 7de8ed72c6bcc840f8bdfd6ef70c69a403c77b74..20333cbbbb47f11b9685ef7186a029ade7c75ed8 100755 (executable)
@@ -64,7 +64,7 @@ def _dir_contents(repo, resolution, show_hidden=False):
 
     url_query = b'?hidden=1' if show_hidden else b''
 
-    def display_info(name, item, resolved_item, display_name=None):
+    def display_info(name, item, resolved_item, display_name=None, omitsize=False):
         global opt
         # link should be based on fully resolved type to avoid extra
         # HTTP redirect.
@@ -73,18 +73,23 @@ def _dir_contents(repo, resolution, show_hidden=False):
             link += '/'
         link = link.encode('ascii')
 
-        size = vfs.item_size(repo, item)
-        if opt.human_readable:
-            display_size = format_filesize(size)
+        if not omitsize:
+            size = vfs.item_size(repo, item)
+            if opt.human_readable:
+                display_size = format_filesize(size)
+            else:
+                display_size = size
         else:
-            display_size = size
+            display_size = None
 
         if not display_name:
             mode = vfs.item_mode(item)
             if stat.S_ISDIR(mode):
                 display_name = name + b'/'
+                display_size = None
             elif stat.S_ISLNK(mode):
                 display_name = name + b'@'
+                display_size = None
             else:
                 display_name = name
 
@@ -97,7 +102,7 @@ def _dir_contents(repo, resolution, show_hidden=False):
                 continue
         if name == b'.':
             parent_item = resolution[-2][1] if len(resolution) > 1 else dir_item
-            yield display_info(b'..', parent_item, parent_item, b'..')
+            yield display_info(b'..', parent_item, parent_item, b'..', omitsize=True)
             continue
         res_item = vfs.ensure_item_has_metadata(repo, item, include_size=True)
         yield display_info(name, item, res_item)