summaryrefslogtreecommitdiffstats
path: root/lib/send2trash/plat_osx.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/send2trash/plat_osx.py')
-rw-r--r--lib/send2trash/plat_osx.py48
1 files changed, 0 insertions, 48 deletions
diff --git a/lib/send2trash/plat_osx.py b/lib/send2trash/plat_osx.py
deleted file mode 100644
index fa2c2c85c..000000000
--- a/lib/send2trash/plat_osx.py
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 2013 Hardcoded Software (http://www.hardcoded.net)
-
-# 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 ctypes import cdll, byref, Structure, c_char, c_char_p
-from ctypes.util import find_library
-
-from .compat import binary_type
-
-Foundation = cdll.LoadLibrary(find_library('Foundation'))
-CoreServices = cdll.LoadLibrary(find_library('CoreServices'))
-
-GetMacOSStatusCommentString = Foundation.GetMacOSStatusCommentString
-GetMacOSStatusCommentString.restype = c_char_p
-FSPathMakeRefWithOptions = CoreServices.FSPathMakeRefWithOptions
-FSMoveObjectToTrashSync = CoreServices.FSMoveObjectToTrashSync
-
-kFSPathMakeRefDefaultOptions = 0
-kFSPathMakeRefDoNotFollowLeafSymlink = 0x01
-
-kFSFileOperationDefaultOptions = 0
-kFSFileOperationOverwrite = 0x01
-kFSFileOperationSkipSourcePermissionErrors = 0x02
-kFSFileOperationDoNotMoveAcrossVolumes = 0x04
-kFSFileOperationSkipPreflight = 0x08
-
-class FSRef(Structure):
- _fields_ = [('hidden', c_char * 80)]
-
-def check_op_result(op_result):
- if op_result:
- msg = GetMacOSStatusCommentString(op_result).decode('utf-8')
- raise OSError(msg)
-
-def send2trash(path):
- if not isinstance(path, binary_type):
- path = path.encode('utf-8')
- fp = FSRef()
- opts = kFSPathMakeRefDoNotFollowLeafSymlink
- op_result = FSPathMakeRefWithOptions(path, opts, byref(fp), None)
- check_op_result(op_result)
- opts = kFSFileOperationDefaultOptions
- op_result = FSMoveObjectToTrashSync(byref(fp), None, opts)
- check_op_result(op_result)