From a8294ae4b8e518a3075c166bfe76a7375132da0c Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 11 Jul 2009 11:03:35 -0600 Subject: [PATCH] Fix #2821 (Non user-friendly error message when attempting to save metadata of open file) --- src/calibre/gui2/dialogs/metadata_single.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/calibre/gui2/dialogs/metadata_single.py b/src/calibre/gui2/dialogs/metadata_single.py index 1d9a048263..0166304af4 100644 --- a/src/calibre/gui2/dialogs/metadata_single.py +++ b/src/calibre/gui2/dialogs/metadata_single.py @@ -485,9 +485,17 @@ class MetadataSingleDialog(ResizableDialog, Ui_MetadataSingleDialog): def accept(self): - if self.formats_changed: - self.sync_formats() - title = qstring_to_unicode(self.title.text()) + try: + if self.formats_changed: + self.sync_formats() + title = unicode(self.title.text()) + except IOError, err: + if err.errno == 13: # Permission denied + fname = err.filename if err.filename else 'file' + return error_dialog(self, _('Permission denied'), + _('Could not open %s. Is it being used by another' + ' program?')%fname, show=True) + raise self.db.set_title(self.id, title, notify=False) au = unicode(self.authors.text()) if au: