Commit Graph

150 Commits

Author SHA1 Message Date
Andrew Senetar d37197c4f7
Move mac/win to subpackages & fix #64
- Move macOS and Windows implementations to sub packagese to improve organization
- Fix #64 in legacy windows implementation by mapping results to standard error codes
2022-04-30 19:52:09 -05:00
Andrew Senetar 2a88b82104
Fix test_plat_other from previous change 2021-08-24 01:21:12 -05:00
Andrew Senetar 18e51c0b5a
Minor cleanup in plat_other
- Add OSError code values
- Use INFO_SUFFIX constant in tests
- Remove old PathLike conversions
2021-08-24 01:00:02 -05:00
Andrew Senetar 7686647389
Fix flake8 error 2021-08-21 16:04:05 -05:00
Andrew Senetar 696aed558b
Change method for test symlink path generation 2021-08-21 16:00:50 -05:00
Andrew Senetar 007d84361a
Fix items missed in test_plat_other in last commit 2021-08-21 15:22:59 -05:00
Andrew Senetar 78a536abba
Minor code quality updates 2021-08-21 15:19:32 -05:00
Andrew Senetar 2aa834be94
Update version & changelog for 1.8.1b0 2021-08-20 22:42:04 -05:00
Andrew Senetar 5e4517aa53
Add fallback to HOMETRASH on plat_other
In the case where os.path.ismount() does not detect a mount and os.rename errors
fallback to HOMETRASH.  This covers several situations where continuing with
the identified trash location is incorrect due to complex mounts.

Close #26, #41, #63.
2021-08-20 22:30:51 -05:00
Andrew Senetar 62849fba0b
Remove Python 3.4 2021-08-19 21:01:55 -05:00
Andrew Senetar 74f2dff57b
Add exception handling to file cleanup
- Surpress errors caused by long file cleanup in older python environments
2021-08-19 20:46:02 -05:00
Andrew Senetar 922fc0342a
Update tox config 2021-08-19 20:46:02 -05:00
Andrew Senetar 1d1b8755a9
Create codeql-analysis.yml
Test out codeql
2021-08-18 02:26:10 -05:00
Andrew Senetar d0e4890a4d
Black format updates with correct line length 2021-08-17 18:58:11 -05:00
Andrew Senetar 24079e245c
Update tox.ini, flake8 ignore fewer errors 2021-08-17 18:54:52 -05:00
Andrew Senetar 24b38e4ffe
Update to use pyproject.toml & setup.cfg 2021-08-17 18:53:56 -05:00
Andrew Senetar 69a82a5162
Dropping duplicate runs from travis CI
- Drop the duplicate runs from travis that github actions now cover.
- Add additional ppc64le entries for 3.7, 3.8, 3.9
2021-08-17 01:51:43 -05:00
Andrew Senetar 2b3f9891c2
Temporarily comment out macOS due to failing tests 2021-08-17 01:40:06 -05:00
Andrew Senetar 039f92264b
Dropping python 3.4 2021-08-17 01:37:18 -05:00
Andrew Senetar c2c47610c8
Fix steps in test 2021-08-17 01:32:40 -05:00
Andrew Senetar 66fc79695e
Attempt to fix issues with matrix and versions 2021-08-17 01:29:37 -05:00
Andrew Senetar 454ebeb072
Remove extra architecture stuff 2021-08-17 01:21:12 -05:00
Andrew Senetar 7ca68e5473
First attempt at github actions setup 2021-08-17 01:18:26 -05:00
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