Skip to content

Commit

Permalink
Merge pull request #88 from PalmtopTiger/iterable-types
Browse files Browse the repository at this point in the history
Support for any iterable type as input data
  • Loading branch information
arsenetar committed Feb 19, 2024
2 parents e59ddca + ed039dc commit 0a48c26
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 1 deletion.
5 changes: 5 additions & 0 deletions send2trash/compat.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,8 @@
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
6 changes: 5 additions & 1 deletion send2trash/util.py
Original file line number Diff line number Diff line change
Expand Up @@ -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]
Expand Down

0 comments on commit 0a48c26

Please sign in to comment.