mirror of
https://github.com/arsenetar/send2trash.git
synced 2025-03-12 14:44:35 +00:00
Merge pull request #88 from PalmtopTiger/iterable-types
Support for any iterable type as input data
This commit is contained in:
commit
0a48c26f68
@ -18,3 +18,8 @@ else:
|
|||||||
text_type = unicode # noqa: F821
|
text_type = unicode # noqa: F821
|
||||||
binary_type = str
|
binary_type = str
|
||||||
environb = os.environ
|
environb = os.environ
|
||||||
|
|
||||||
|
try:
|
||||||
|
from collections.abc import Iterable as iterable_type
|
||||||
|
except ImportError:
|
||||||
|
from collections import Iterable as iterable_type
|
||||||
|
@ -5,9 +5,13 @@
|
|||||||
# which should be included with this package. The terms are also available at
|
# which should be included with this package. The terms are also available at
|
||||||
# http://www.hardcoded.net/licenses/bsd_license
|
# http://www.hardcoded.net/licenses/bsd_license
|
||||||
|
|
||||||
|
from send2trash.compat import text_type, binary_type, iterable_type
|
||||||
|
|
||||||
|
|
||||||
def preprocess_paths(paths):
|
def preprocess_paths(paths):
|
||||||
if not isinstance(paths, list):
|
if isinstance(paths, iterable_type) and not isinstance(paths, (text_type, binary_type)):
|
||||||
|
paths = list(paths)
|
||||||
|
elif not isinstance(paths, list):
|
||||||
paths = [paths]
|
paths = [paths]
|
||||||
# Convert items such as pathlib paths to strings
|
# Convert items such as pathlib paths to strings
|
||||||
paths = [path.__fspath__() if hasattr(path, "__fspath__") else path for path in paths]
|
paths = [path.__fspath__() if hasattr(path, "__fspath__") else path for path in paths]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user