mirror of
https://github.com/arsenetar/send2trash.git
synced 2024-12-08 05:39:02 +00:00
Andrew Senetar
d078554052
* 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
21 lines
747 B
Python
21 lines
747 B
Python
# Copyright 2017 Virgil Dupras
|
|
|
|
# This software is licensed under the "BSD" License as described in the "LICENSE" file,
|
|
# which should be included with this package. The terms are also available at
|
|
# http://www.hardcoded.net/licenses/bsd_license
|
|
|
|
from __future__ import unicode_literals
|
|
from platform import version
|
|
|
|
# if windows is vista or newer and pywin32 is available use IFileOperation
|
|
if int(version().split(".", 1)[0]) >= 6:
|
|
try:
|
|
# Attempt to use pywin32 to use IFileOperation
|
|
from .plat_win_modern import send2trash
|
|
except ImportError:
|
|
# use SHFileOperation as fallback
|
|
from .plat_win_legacy import send2trash
|
|
else:
|
|
# use SHFileOperation as fallback
|
|
from .plat_win_legacy import send2trash
|