Skip to content

Commit

Permalink
Added support for Gnome's gio
Browse files Browse the repository at this point in the history
Instead of using our own Freedesktop's trash implementation,
use gio when it's available.
  • Loading branch information
Virgil Dupras committed Jul 19, 2013
1 parent bb8ed83 commit baf125f
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 1 deletion.
7 changes: 6 additions & 1 deletion send2trash/__init__.py
Expand Up @@ -11,4 +11,9 @@
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 changes: 14 additions & 0 deletions send2trash/plat_gio.py
@@ -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)

0 comments on commit baf125f

Please sign in to comment.