From 5d1b78a13980b9d4d8103f6d6bedbf484f1be9ff Mon Sep 17 00:00:00 2001 From: The Flying Rapist Date: Sat, 24 Oct 2015 14:00:36 -0400 Subject: Rifle's ext condition now handles fringe cases. --- ranger/ext/rifle.py | 8 +++++--- 1 file 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': -- cgit 1.4.1-2-gfad0