summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorhut <hut@lepus.uberspace.de>2015-01-18 05:51:52 +0100
committerhut <hut@lepus.uberspace.de>2015-01-18 05:51:52 +0100
commit28a38b116aa1f4e70f75800c66e019b116b64eb5 (patch)
treed0187ea216d54e938e05776a0a4cecbd236a190b
parent31e70062941d56ad42989b3c095022b7c49ef8e1 (diff)
parent6a0b182781e99d89e16575afbadfd7dfe3c51859 (diff)
downloadranger-28a38b116aa1f4e70f75800c66e019b116b64eb5.tar.gz
Merge branch 'remove_empty_metadata' of https://github.com/Vifon/ranger
-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