summary refs log tree commit diff stats
path: root/ranger
diff options
context:
space:
mode:
authorWojciech Siewierski <wojciech.siewierski@onet.pl>2015-01-17 18:30:52 +0100
committerWojciech Siewierski <wojciech.siewierski@onet.pl>2015-01-17 18:30:52 +0100
commit6a0b182781e99d89e16575afbadfd7dfe3c51859 (patch)
treecd600eb25acb6ac0e5032c54065651d22382b428 /ranger
parente456d4549f47b006b07efdcce9511506790c7d1d (diff)
downloadranger-6a0b182781e99d89e16575afbadfd7dfe3c51859.tar.gz
core.metadata: data of files with empty metadata is not stored
Diffstat (limited to '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