Python Levenshtein module.
$ easy_install --user levenshtein
class mark_similars(Command): | |
""" | |
:mark_similars [<NAME>] | |
Mark the files whose name is similar to the selected file. | |
""" | |
do_mark = True | |
def execute(self): | |
from Levenshtein import ratio | |
arg = self.rest(1) | |
if not arg: | |
arg = self.fm.thisfile.basename | |
cwd = self.fm.thisdir | |
for file in cwd.files: | |
if ratio(arg, file.basename) > 0.65: | |
cwd.toggle_mark(file) | |
self.fm.ui.status.need_redraw = True | |
self.fm.ui.need_redraw = True |