mirror of
https://github.com/SickGear/SickGear.git
synced 2024-11-15 09:25:04 +00:00
27 lines
1,014 B
Python
27 lines
1,014 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 Foundation import NSFileManager, NSURL
|
||
|
from send2trash.compat import text_type
|
||
|
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, text_type) 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)
|