summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--ranger/core/metadata.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/ranger/core/metadata.py b/ranger/core/metadata.py
index efee9760..fc545b9c 100644
--- a/ranger/core/metadata.py
+++ b/ranger/core/metadata.py
@@ -70,6 +70,16 @@ class MetadataManager(object):
             if value == "":
                 del entry[key]
 
+        # If file's metadata become empty after an update, remove it entirely
+        if entry == {}:
+            try:
+                del entries[filename]
+            except KeyError:
+                try:
+                    del entries[basename(filename)]
+                except KeyError:
+                    pass
+
         # Full update of the cache, to be on the safe side:
         self.metadata_cache[filename] = entry
         self.metafile_cache[metafile] = entries