22 lines
627 B
Python
22 lines
627 B
Python
|
from __future__ import unicode_literals
|
||
|
import sys
|
||
|
import os
|
||
|
import os.path as op
|
||
|
|
||
|
TRASH_PATH = op.expanduser('~/.Trash')
|
||
|
|
||
|
# XXX Make this work on external volumes
|
||
|
|
||
|
def send2trash(path):
|
||
|
if not isinstance(path, unicode):
|
||
|
path = unicode(path, sys.getfilesystemencoding())
|
||
|
filename = op.basename(path)
|
||
|
destpath = op.join(TRASH_PATH, filename)
|
||
|
counter = 0
|
||
|
while op.exists(destpath):
|
||
|
counter += 1
|
||
|
base_name, ext = op.splitext(filename)
|
||
|
new_filename = '{0} {1}{2}'.format(base_name, counter, ext)
|
||
|
destpath = op.join(TRASH_PATH, new_filename)
|
||
|
os.rename(path, destpath)
|