mirror of
https://github.com/arsenetar/send2trash.git
synced 2025-03-12 14:44:35 +00:00
fix(win): Prevent exception on empty list
Add check for when an empty list remains after preprocessing and do not continue for both legacy and modern windows implementations. Fix #71
This commit is contained in:
parent
be402728fb
commit
4b9bc4bc31
@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
import os.path as op
|
import os.path as op
|
||||||
|
|
||||||
from send2trash.compat import text_type
|
from send2trash.compat import text_type
|
||||||
from send2trash.util import preprocess_paths
|
from send2trash.util import preprocess_paths
|
||||||
|
|
||||||
@ -142,6 +143,8 @@ def get_short_path_name(long_name):
|
|||||||
|
|
||||||
def send2trash(paths):
|
def send2trash(paths):
|
||||||
paths = preprocess_paths(paths)
|
paths = preprocess_paths(paths)
|
||||||
|
if not paths:
|
||||||
|
return
|
||||||
# convert data type
|
# convert data type
|
||||||
paths = [text_type(path, "mbcs") if not isinstance(path, text_type) else path for path in paths]
|
paths = [text_type(path, "mbcs") if not isinstance(path, text_type) else path for path in paths]
|
||||||
# convert to full paths
|
# convert to full paths
|
||||||
|
@ -17,6 +17,8 @@ from send2trash.win.IFileOperationProgressSink import create_sink
|
|||||||
|
|
||||||
def send2trash(paths):
|
def send2trash(paths):
|
||||||
paths = preprocess_paths(paths)
|
paths = preprocess_paths(paths)
|
||||||
|
if not paths:
|
||||||
|
return
|
||||||
# convert data type
|
# convert data type
|
||||||
paths = [text_type(path, "mbcs") if not isinstance(path, text_type) else path for path in paths]
|
paths = [text_type(path, "mbcs") if not isinstance(path, text_type) else path for path in paths]
|
||||||
# convert to full paths
|
# convert to full paths
|
||||||
|
@ -204,3 +204,17 @@ def test_trash_long_multifile_legacy(longfiles):
|
|||||||
# )
|
# )
|
||||||
# def test_trash_long_folder_legacy(self):
|
# def test_trash_long_folder_legacy(self):
|
||||||
# self._trash_folder(s2t_legacy)
|
# self._trash_folder(s2t_legacy)
|
||||||
|
|
||||||
|
|
||||||
|
def test_trash_nothing_legacy():
|
||||||
|
try:
|
||||||
|
s2t_legacy([])
|
||||||
|
except Exception as ex:
|
||||||
|
assert False, f"Exception thrown when trashing nothing: {ex}"
|
||||||
|
|
||||||
|
|
||||||
|
def test_trash_nothing_modern():
|
||||||
|
try:
|
||||||
|
s2t_modern([])
|
||||||
|
except Exception as ex:
|
||||||
|
assert False, f"Exception thrown when trashing nothing: {ex}"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user