Merge pull request #88 from PalmtopTiger/iterable-types

Support for any iterable type as input data
This commit is contained in:
Andrew Senetar 2024-02-19 09:08:53 -06:00 committed by GitHub
commit 0a48c26f68
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 10 additions and 1 deletions

View File

@ -18,3 +18,8 @@ else:
text_type = unicode # noqa: F821
binary_type = str
environb = os.environ
try:
from collections.abc import Iterable as iterable_type
except ImportError:
from collections import Iterable as iterable_type

View File

@ -5,9 +5,13 @@
# which should be included with this package. The terms are also available at
# http://www.hardcoded.net/licenses/bsd_license
from send2trash.compat import text_type, binary_type, iterable_type
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]
# Convert items such as pathlib paths to strings
paths = [path.__fspath__() if hasattr(path, "__fspath__") else path for path in paths]