Go to file
Virgil Dupras a6907d57a9 Converted the compiled osx module to ctypes.
--HG--
branch : py3k
2010-10-17 18:28:28 +02:00
modules Converted the compiled osx module to ctypes. 2010-10-17 18:28:28 +02:00
send2trash Converted the compiled osx module to ctypes. 2010-10-17 18:28:28 +02:00
.hgignore Updated package metadata. 2010-07-07 11:59:11 +02:00
.hgtags Added tag 1.0.1 for changeset a7e04d8e47e1 2010-04-19 11:25:35 +02:00
CHANGES v1.0.2 2010-07-10 07:06:01 +02:00
LICENSE Licensed under BSD. 2010-04-07 08:52:24 +02:00
README Added a setuptools-crappiness notice in the README. 2010-07-13 12:19:19 +02:00
setup.py Converted the compiled osx module to ctypes. 2010-10-17 18:28:28 +02:00

README

==================================================
Send2Trash -- Send files to trash on all platforms
==================================================

This is a Python 3 package. The Python 2 package is at http://pypi.python.org/pypi/Send2Trash .

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 (and ugly) ``SHFileOperation`` win32 calls. On other platforms, it moves the file to the first folder it finds that looks like a trash (so far, it's known to work on Ubuntu).

Installation
------------

Download the source from http://hg.hardcoded.net/send2trash and install it with::

>>> sudo python setup.py install

On Windows, you'll need Visual Studio 2008 to compile it. Note that the install you'll get will not be a "universal" package. If you install it on OS X, only the "osx" module will be compiled, and if you install it on Windows, only the "win" module will be compiled.

To have a cross-platform package you can ship around, you'll have compile the package on both platforms and merge the results so that both compiled modules are in the same package.

There's no package available on PyPI because packages produced by setuptools/distribute are all crappy (god I hate packaging). That's, I think, because I look at ``sys.platform`` to determine which of the extension module (if any) has to be built. However, when I create a ``sdist``, only the module of the platform I build it on is included in the source package. I don't know how to go around that and configuring that ``setup()`` function is hell. Just download the source from the repo.

Usage
-----

>>> from send2trash import send2trash
>>> send2trash('some_file')

When there's a problem ``OSError`` is raised.