Commit Graph

127 Commits

Author SHA1 Message Date
Andrew Senetar 484913ba0f
Update version for 1.8.0 release 2021-08-08 21:51:06 -05:00
Andrew Senetar d249f0106b
Fix #59, initialize and uninitialize COM for threading 2021-08-07 22:16:33 -05:00
Andrew Senetar 94e1ec007a
Add ability to handle pathlib paths
- Handle pathlib paths across all implementations, plat_other already did
- Move preprocessing code to common location
2021-08-07 21:48:10 -05:00
Andrew Senetar 84c220cbd9
Change extra requires to filter on platform
Also created one extra `nativeLib` to replace the orignal two.  Will remove
the others after a couple releases.
2021-08-07 21:04:40 -05:00
Andrew Senetar 6612545110
Add note about pyobjc to README, add extra option 2021-06-22 21:36:14 -05:00
Andrew Senetar d52b4f206c
Fix CHANGES.rst issue 2021-06-21 22:22:48 -05:00
Andrew Senetar 33171dde82
Update version for 1.7.1 release 2021-06-21 22:13:46 -05:00
Andrew Senetar 077598d2ce
Merge pull request #57 from BoboTiG/fix-windows-unc-names-legacy
Windows legacy: fix handling of UNC names
2021-06-21 22:06:06 -05:00
Mickaël Schoentgen 436686bf0f Windows legacy: fix handling of UNC names
The legacy implementation was not handling UNC names properly:

  Traceback (most recent call last):
    File "check.py", line 6, in <module>
      send2trash(str(file))
    File "\...\plat_win_legacy.py", line 79, in send2trash
      paths = [get_short_path_name(path) for path in paths]
    File "\...\plat_win_legacy.py", line 79, in <listcomp>
      paths = [get_short_path_name(path) for path in paths]
    File "\...\plat_win_legacy.py", line 62, in get_short_path_name
      raise WindowsError(err_no, FormatError(err_no), long_name[4:])
  OSError: [Errno 123] La syntaxe du nom de fichier, de répertoire ou de volume est incorrecte.: '\\\\SERVER\\folder\\file.txt'
2021-05-26 17:22:26 +02:00
Andrew Senetar 23ce7b8c16
Bump version 2021-05-14 21:44:21 -05:00
Andrew Senetar 9b0d5796c1
Change conditional for macos pyobjc usage
macOS 11.x will occasionally identify as 10.16, since there was no real
reason to prevent on all supported platforms allow.
2021-05-14 21:40:16 -05:00
Andrew Senetar c8bcaea1e8
Update version and changelog for release 2021-04-20 17:35:59 -05:00
Andrew Senetar 530e9b4bc6
Add initial pyobjc version for macOS
This is to help with issue #51.  Will not help in the case of python 2 or
older python 3 version < 3.6.
2021-04-13 22:36:10 -05:00
Andrew Senetar 10c7693d11
Minor fixes to tests 2021-03-17 21:51:51 -05:00
Andrew Senetar 356509120b
Add some checks to catch test failure
Really just checking that the setup is able to create test files so it
is known they were there then removed.
Windows tests really need verification of
recycle, which is not present.
2021-03-17 20:52:16 -05:00
Andrew Senetar f9fcdb8d8c
Fix legacy windows platform for multibyte unicode
- Add handling to create correctly sized buffer even with multibyte
characters as len() in python does not line up with what
create_unicode_buffer() needs for length.
- Add test for single and multiple files
2021-03-10 21:41:30 -06:00
Andrew Senetar af0c1ba704
More test fixes
- Fix travis windows env
- Fix exception type in test_plat_win
- Finish converting tests in test_plat_other, fix exception type
2021-03-10 18:57:35 -06:00
Andrew Senetar 37be84d46e
Update .travis.yml 2021-03-02 22:48:48 -06:00
Andrew Senetar 9f76fbf036
Updates for tests on windows
- Other platform tests WIP
- Windows long directory tests WIP
2021-03-02 19:33:44 -06:00
Andrew Senetar a324923ffa
Add IFileOperationProgressSink
- Add sink to allow detection of times when the file would be deleted
- Currently can detect, but not stop operations, more work needed
2021-03-02 19:23:43 -06:00
Andrew Senetar dbdcce8b04
First batch of updates to unit tests
- Remove content from __init__.py
- Change test_script_main to use pytest
- Update test_script_main to run on windows as well as linux
2021-03-02 00:26:29 -06:00
Andrew Senetar 054d56c564
Update Tox and Travis configurations 2021-03-02 00:24:59 -06:00
Andrew Senetar 33ed07811b
Cleanup flake8 issues 2021-03-01 23:44:03 -06:00
Andrew Senetar 5d3835735e
Merge pull request #55 from juliangilbey/fix-win-test
Only import Windows-specific modules when on Windows
2021-01-28 23:53:24 -06:00
Julian Gilbey 741c7ad51f Only import Windows-specific modules when on Windows 2021-01-29 05:42:11 +00:00
Andrew Senetar 2eb3242cd9
Merge pull request #54 from asellappen/master
Adding power support for this package to support arch independent
2021-01-21 19:11:15 -06:00
Andrew Senetar 60bcb2c834
Merge pull request #47 from pracedru/master
Update plat_other.py
2021-01-21 19:00:46 -06:00
Andrew Senetar c411f4eae4
Merge branch 'master' into master 2021-01-21 19:00:33 -06:00
Andrew Senetar f64c69f905
Merge branch 'master' into master 2021-01-21 18:57:39 -06:00
Andrew Senetar 00dfe77e40
Add console_script entry point, close #50 2021-01-12 18:22:23 -06:00
Andrew Senetar 16a7115ff1
Merge pull request #52 from BoboTiG/impr-expand-ci
Expand supported Python versions
2021-01-12 16:58:09 -06:00
Andrew Senetar ec73b44c43
Merge pull request #53 from BoboTiG/fix-resource-warning
Fix ResourceWarning: unclosed file in setup.py
2021-01-12 16:53:59 -06:00
Arumugam f62b4f1ffd Adding power support for this package to support arch indepentant 2020-12-15 06:08:33 +00:00
Mickaël Schoentgen 38ae2b63d2 Expand supported Python versions 2020-12-01 09:16:20 +01:00
Mickaël Schoentgen cd8d9fb95e Fix ResourceWarning: unclosed file in setup.py
Also prevent potential identical warning in `plat_other.py`.
2020-12-01 08:45:46 +01:00
Magnus Møller Jørgensen 20bbab0b4c
Update plat_other.py
The trash info file needs to exist before the file is moved into the trash folder. 
This is to conform to the events based detection of trashed files in gnome and other file managers.
2020-07-23 03:57:15 +02:00
Andrew Senetar 49bc438546
Update files to release a new package 2020-06-18 21:49:42 -05:00
Andrew Senetar 2e9fa38f56
Fix some flake8 errors and cleanup
- Fix some flake8 formatting errors
- Auto-format files edited
- Also ignore some flake8 errors when they are intented
- Update .gitignore to ingore local env
2020-06-18 21:47:06 -05:00
Andrew Senetar 1e099724c5
Fix a typo in tox.ini for windows 2020-06-11 23:23:54 -05:00
Andrew Senetar 6ac20bc4f6
Fix new issues with unit tests
- Create custom test suite based on platform
- Use the custom suite for all tests
- Update tox.ini to install pywin32
2020-06-11 23:20:16 -05:00
Andrew Senetar e3d2be3243
Update windows tests to test both versions
This fixes #44 by testing the automatic import, the legacy version, and
the modern version directtly.
2020-06-11 22:42:00 -05:00
Andrew Senetar d078554052
Windows Performance Improvement & Multi-Item support (#43)
* Initial IFileOperation for Windows

- Try using IFileOperation instead of SHFileOperation
  - Use pywin32 to accomplish this
  - Implement fallback when pywin32 not available
- Handles paths like `C:\` just fine bu the `\\?\` paths in the test
  cause issue
- Add batching for IFileOperation version (performance)
- Minor formatting applied by editor

* Fix issue with paths starting with \\?\

- Strip these characters off if present just like old implementation

* Add windows version check, legacy list support

- Add check for windows version for IFileOperation
- Add list support to legacy version
- Remove some debugging code
- Fix bug in path converson

Not sure if there is a better way to layout this file

* Split plat_win into legacy and modern

* Update other platforms for list support

Formatter also ran on these so some other minor changes.

* Add unit tests for multi-file calls
2020-06-03 12:49:41 -04:00
Matthew D. Scholefield 9ede898c3e
Create __main__.py (Fixes #15) (#38)
This adds a main method that mimics the behavior of `rm`. It can be called via `python -m send2trash somefile`.
2020-05-27 07:52:00 -04:00
sharkykh 66afce7252 Fix silently failing on Windows (#33)
* Fix #31: Silently failing on Windows

* Update Windows test

* Fix test folders not getting removed
2019-04-30 12:28:09 -04:00
sharkykh 8f684a9c8b Add Python 3.7 and Windows to Travis-CI (#34)
* Add Python 3.7 and Windows to Travis-CI

* Reorder environments
2019-04-30 12:22:28 -04:00
Virgil Dupras 1c32d471f2 README: Maintainer wanted 2019-01-04 10:27:27 -05:00
Virgil Dupras 74352462f5 Fix broken tests on py2 2018-07-26 08:30:39 -04:00
Virgil Dupras 0d7b4b4ad9 v1.5.0 2018-02-16 09:57:27 -05:00
Thomas Kluyver 1dded4f572 Raise TrashPermissionError from gio backend (#22) 2018-02-16 09:30:26 -05:00
Mickaël Schoentgen 020d05979d Windows: Workaround for long paths (#23)
By using the short path version of a file, we can
manage to move long paths to the trash.

Limitations:
1/ If the final short path is longer than what
    `SHFileOperationW` can handle, it will fail
2/ Still not able to trash long path from another
    drive, ie: trying to delete C:\temp\foo.txt
    while the script is running from D:\trash.py
2018-02-16 09:07:05 -05:00