Raise TrashPermissionError from gio backend (#22)

This commit is contained in:
Thomas Kluyver 2018-02-16 14:30:26 +00:00 committed by Virgil Dupras
parent 020d05979d
commit 1dded4f572
1 changed files with 5 additions and 0 deletions

View File

@ -5,10 +5,15 @@
# http://www.hardcoded.net/licenses/bsd_license # http://www.hardcoded.net/licenses/bsd_license
from gi.repository import GObject, Gio from gi.repository import GObject, Gio
from .exceptions import TrashPermissionError
def send2trash(path): def send2trash(path):
try: try:
f = Gio.File.new_for_path(path) f = Gio.File.new_for_path(path)
f.trash(cancellable=None) f.trash(cancellable=None)
except GObject.GError as e: except GObject.GError as e:
if e.code == Gio.IOErrorEnum.NOT_SUPPORTED:
# We get here if we can't create a trash directory on the same
# device. I don't know if other errors can result in NOT_SUPPORTED.
raise TrashPermissionError('')
raise OSError(e.message) raise OSError(e.message)