summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rwxr-xr-xranger/ext/rifle.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/ranger/ext/rifle.py b/ranger/ext/rifle.py
index 5d13a5bf..3c54cfc2 100755
--- a/ranger/ext/rifle.py
+++ b/ranger/ext/rifle.py
@@ -194,9 +194,11 @@ class Rifle(object):
         function = rule[0]
         argument = rule[1] if len(rule) > 1 else ''
 
-        if function == 'ext':
-            extension = os.path.basename(files[0]).rsplit('.', 1)[-1].lower()
-            return bool(re.search('^(' + argument + ')$', extension))
+        if function == 'ext' and os.path.isfile(files[0]):
+            partitions = os.path.basename(files[0]).rpartition('.')
+            if not partitions[0]:
+                return False
+            return bool(re.search('^(' + argument + ')$', partitions[2].lower()))
         elif function == 'name':
             return bool(re.search(argument, os.path.basename(files[0])))
         elif function == 'match':