mirror of
https://github.com/arsenetar/send2trash.git
synced 2024-12-21 10:59:03 +00:00
Andrew Senetar
356509120b
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. |
||
---|---|---|
send2trash | ||
tests | ||
.gitignore | ||
.travis.yml | ||
CHANGES.rst | ||
LICENSE | ||
MANIFEST.in | ||
README.rst | ||
setup.py | ||
tox.ini |
================================================== Send2Trash -- Send files to trash on all platforms ================================================== Send2Trash is a small package that sends files to the Trash (or Recycle Bin) *natively* and on *all platforms*. On OS X, it uses native ``FSMoveObjectToTrashSync`` Cocoa calls. On Windows, it uses native ``IFileOperation`` call if on Vista or newer and pywin32 is installed or falls back to ``SHFileOperation`` calls. On other platforms, if `PyGObject`_ and `GIO`_ are available, it will use this. Otherwise, it will fallback to its own implementation of the `trash specifications from freedesktop.org`_. ``ctypes`` is used to access native libraries, so no compilation is necessary. Send2Trash supports Python 2.7 and up (Python 3 is supported). Status: Additional Help Welcome ------------------------------- Additional help is welcome for supporting this package. Specifically help with the OSX and Linux issues and fixes would be most appreciated. Installation ------------ You can download it with pip:: python -m pip install -U send2trash or you can download the source from http://github.com/arsenetar/send2trash and install it with:: >>> python setup.py install Usage ----- >>> from send2trash import send2trash >>> send2trash('some_file') >>> send2trash(['some_file1', 'some_file2']) On Freedesktop platforms (Linux, BSD, etc.), you may not be able to efficiently trash some files. In these cases, an exception ``send2trash.TrashPermissionError`` is raised, so that the application can handle this case. This inherits from ``PermissionError`` (``OSError`` on Python 2). Specifically, this affects files on a different device to the user's home directory, where the root of the device does not have a ``.Trash`` directory, and we don't have permission to create a ``.Trash-$UID`` directory. For any other problem, ``OSError`` is raised. .. _PyGObject: https://wiki.gnome.org/PyGObject .. _GIO: https://developer.gnome.org/gio/ .. _trash specifications from freedesktop.org: http://freedesktop.org/wiki/Specifications/trash-spec/