| 12345678910111213141516171819202122232425 |
- # 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 Foundation import NSFileManager, NSURL
- from send2trash.util import preprocess_paths
- def check_op_result(op_result):
- # First value will be false on failure
- if not op_result[0]:
- # Error is in third value, localized failure reason matchs ctypes version
- raise OSError(op_result[2].localizedFailureReason())
- def send2trash(paths):
- paths = preprocess_paths(paths)
- paths = [path.decode("utf-8") if not isinstance(path, str) else path for path in paths]
- for path in paths:
- file_url = NSURL.fileURLWithPath_(path)
- fm = NSFileManager.defaultManager()
- op_result = fm.trashItemAtURL_resultingItemURL_error_(file_url, None, None)
- check_op_result(op_result)
|