diff options
Diffstat (limited to 'ranger/core/actions.py')
-rw-r--r-- | ranger/core/actions.py | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/ranger/core/actions.py b/ranger/core/actions.py index 634bb7f8..e45326f3 100644 --- a/ranger/core/actions.py +++ b/ranger/core/actions.py @@ -1306,24 +1306,20 @@ class Actions(FileManagerAware, SettingsAware): self.loader.add(loadable, append=append) self.do_cut = False - def delete(self, files=None): + def delete(self, files): # XXX: warn when deleting mount points/unseen marked files? self.notify("Deleting!") - if files is None: - selected = self.thistab.get_selection() - else: - selected = [File(os.path.expanduser(f)) for f in files] - self.copy_buffer -= set(selected) - if selected: - for f in selected: - if isdir(f.path) and not os.path.islink(f.path): + self.copy_buffer = set(filter(lambda f: f.path not in files, self.copy_buffer)) + if files: + for f in files: + if isdir(f) and not os.path.islink(f): try: - shutil.rmtree(f.path) + shutil.rmtree(f) except OSError as err: self.notify(err) else: try: - os.remove(f.path) + os.remove(f) except OSError as err: self.notify(err) self.thistab.ensure_correct_pointer() |