Added the plat_other module (for Linux).

pull/6/head
Virgil Dupras 14 years ago
parent 8a1dff2947
commit 6856e49f2d

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

@ -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)
Loading…
Cancel
Save