1
0
mirror of https://github.com/arsenetar/send2trash.git synced 2024-10-31 22:05:58 +00:00

Compare commits

..

9 Commits

Author SHA1 Message Date
91d0698967
Merge pull request #91 from arsenetar/as/misc-fixes
chore: Upgrade version to 1.8.3, bump CI
2024-04-06 18:53:45 -05:00
5c47eb063c
fix(ci): Use alternative setup-python to allow 2.7
The setup python action has removed 2.7, we want to keep it for the
moment.  Using an alternative action that supports 2.7.
2024-04-06 16:51:34 -07:00
c7a23884a9
chore: Upgrade version to 1.8.3, bump CI
- Upgrade version to 1.8.3, add changelog entry
- Fix minor flake8 error that can be ignored
- Update CI workflow to use newer actions and python versions
2024-04-06 16:36:23 -07:00
78fa300cac
Merge pull request #90 from yogeshiitm/master
Fix bug when source and destination directories are on different file systems
2024-03-28 01:17:37 -05:00
Yogesh Agarwala
baeb9e59f9
Fix bug in send2trash: Use os.fsdecode() in shutil.move()
`shutil.move()` function expects string paths, not byte paths. This bug is leading to failure when src and dst are on on the different file system.
2024-03-23 05:37:21 +05:30
0a48c26f68
Merge pull request #88 from PalmtopTiger/iterable-types
Support for any iterable type as input data
2024-02-19 09:08:53 -06:00
Andrey Efremov
ed039dc892 Support for any iterable type as input data 2024-01-11 14:25:22 +07:00
e59ddcae98
Merge pull request #79 from mgorny/wheel
Remove redundant wheel dep from pyproject.toml
2023-05-03 02:41:22 -05:00
Michał Górny
19cf5d941a Remove redundant wheel dep from pyproject.toml
Remove the redundant `wheel` dependency, as it is added by the backend
automatically.  Listing it explicitly in the documentation was
a historical mistake and has been fixed since, see:
f7d30a9529
2023-04-27 18:12:32 +02:00
7 changed files with 28 additions and 17 deletions

View File

@ -12,9 +12,9 @@ jobs:
lint: lint:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- name: Set up Python 3.x - name: Set up Python 3.x
uses: actions/setup-python@v3 uses: actions/setup-python@v5
with: with:
python-version: 3.x python-version: 3.x
- name: Install dependencies - name: Install dependencies
@ -30,6 +30,8 @@ jobs:
strategy: strategy:
matrix: matrix:
include: include:
- os: ubuntu-latest
python-version: 3.12
- os: ubuntu-latest - os: ubuntu-latest
python-version: 3.11 python-version: 3.11
- os: ubuntu-latest - os: ubuntu-latest
@ -40,29 +42,25 @@ jobs:
python-version: 3.8 python-version: 3.8
- os: ubuntu-latest - os: ubuntu-latest
python-version: 3.7 python-version: 3.7
- os: ubuntu-20.04
python-version: 3.6
- os: ubuntu-20.04
python-version: 3.5
- os: ubuntu-latest - os: ubuntu-latest
python-version: 2.7 python-version: 2.7
# - os: macos-latest # - os: macos-latest
# python-version: 3.11 # python-version: 3.11
# - os: macos-latest # - os: macos-latestgit push
# python-version: 3.8 # python-version: 3.8
# - os: macos-latest # - os: macos-latest
# python-version: 2.7 # python-version: 2.7
- os: windows-latest - os: windows-latest
python-version: 3.11 python-version: 3.12
- os: windows-latest - os: windows-latest
python-version: 3.8 python-version: 3.8
- os: windows-latest - os: windows-latest
python-version: 2.7 python-version: 2.7
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }} - name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3 uses: LizardByte/setup-python-action@master
with: with:
python-version: ${{ matrix.python-version }} python-version: ${{ matrix.python-version }}
- name: Install dependencies - name: Install dependencies

View File

@ -1,6 +1,11 @@
Changes Changes
======= =======
Version 1.8.3 -- 2024/04/06
---------------------------
* Add support for any iterable type as input by @PalmtopTiger in https://github.com/arsenetar/send2trash/pull/88
* fix: Use os.fsdecode() for arguments to shutil.move() by @yogeshiitm in https://github.com/arsenetar/send2trash/pull/90
Version 1.8.2 -- 2023/04/27 Version 1.8.2 -- 2023/04/27
--------------------------- ---------------------------
* win/legacy: tiny logic simplification by @BoboTiG in https://github.com/arsenetar/send2trash/pull/77 * win/legacy: tiny logic simplification by @BoboTiG in https://github.com/arsenetar/send2trash/pull/77

View File

@ -1,5 +1,5 @@
[build-system] [build-system]
requires = ["setuptools >= 40.6.0", "wheel"] requires = ["setuptools >= 40.6.0"]
build-backend = "setuptools.build_meta" build-backend = "setuptools.build_meta"
[tool.black] [tool.black]

View File

@ -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 # noqa: F401

View File

@ -115,7 +115,7 @@ def trash_move(src, dst, topdir=None, cross_dev=False):
f.write(info_for(src, topdir)) f.write(info_for(src, topdir))
destpath = op.join(filespath, destname) destpath = op.join(filespath, destname)
if cross_dev: if cross_dev:
shutil.move(src, destpath) shutil.move(fsdecode(src), fsdecode(destpath))
else: else:
os.rename(src, destpath) os.rename(src, destpath)

View File

@ -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]

View File

@ -1,6 +1,6 @@
[metadata] [metadata]
name = Send2Trash name = Send2Trash
version = 1.8.2 version = 1.8.3
url = https://github.com/arsenetar/send2trash url = https://github.com/arsenetar/send2trash
project_urls = project_urls =
Bug Reports = https://github.com/arsenetar/send2trash/issues Bug Reports = https://github.com/arsenetar/send2trash/issues
@ -20,19 +20,18 @@ classifiers =
Operating System :: POSIX Operating System :: POSIX
Programming Language :: Python :: 2.7 Programming Language :: Python :: 2.7
Programming Language :: Python :: 3 Programming Language :: Python :: 3
Programming Language :: Python :: 3.5
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9 Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10 Programming Language :: Python :: 3.10
Programming Language :: Python :: 3.11 Programming Language :: Python :: 3.11
Programming Language :: Python :: 3.12
Topic :: Desktop Environment :: File Managers Topic :: Desktop Environment :: File Managers
[options] [options]
packages = find: packages = find:
tests_require = pytest tests_require = pytest
python_requires = >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.* python_requires = >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*
[options.packages.find] [options.packages.find]
include= include=