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 |