Added support for Gnome's gio

Instead of using our own Freedesktop's trash implementation,
use gio when it's available.
This commit is contained in:
Virgil Dupras 2013-07-19 19:16:11 -04:00
parent bb8ed834da
commit baf125ff61
2 changed files with 20 additions and 1 deletions

View File

@ -11,4 +11,9 @@ if sys.platform == 'darwin':
elif sys.platform == 'win32':
from .plat_win import send2trash
else:
from .plat_other import send2trash
try:
# If we can use gio, let's use it
from .plat_gio import send2trash
except ImportError:
# Oh well, let's fallback to our own Freedesktop trash implementation
from .plat_other import send2trash

14
send2trash/plat_gio.py Normal file
View File

@ -0,0 +1,14 @@
# Copyright 2013 Hardcoded Software (http://www.hardcoded.net)
# This software is licensed under the "BSD" License as described in the "LICENSE" file,
# which should be included with this package. The terms are also available at
# http://www.hardcoded.net/licenses/bsd_license
from gi.repository import GObject, Gio
def send2trash(path):
try:
f = Gio.File.new_for_path(path)
f.trash(cancellable=None)
except GObject.GError as e:
raise OSError(e.message)