Added the plat_other module (for Linux).

This commit is contained in:
Virgil Dupras 2010-04-06 18:55:30 +02:00
parent 8a1dff2947
commit 6856e49f2d
2 changed files with 22 additions and 1 deletions

View File

@ -5,4 +5,4 @@ if sys.platform == 'darwin':
elif sys.platform == 'win32': elif sys.platform == 'win32':
from plat_win import send2trash from plat_win import send2trash
else: else:
print "Unsupported platform" from plat_other import send2trash

21
send2trash/plat_other.py Normal file
View File

@ -0,0 +1,21 @@
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)