From bf09c4ce8a1ae141ebfc02d70ecd21ca7cfca25c Mon Sep 17 00:00:00 2001 From: Virgil Dupras Date: Fri, 17 Oct 2014 15:46:43 -0400 Subject: [PATCH] Nicely wrap PermissionDenied errors on save In fact, all `OSError`. ref #266 --- core/app.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/core/app.py b/core/app.py index 965efac4..aed98fd3 100644 --- a/core/app.py +++ b/core/app.py @@ -475,7 +475,10 @@ class DupeGuru(Broadcaster): dest_file = self.view.select_dest_file(tr("Select a destination for your exported CSV"), 'csv') if dest_file: colnames, rows = self._get_export_data() - export.export_to_csv(dest_file, colnames, rows) + try: + export.export_to_csv(dest_file, colnames, rows) + except OSError as e: + self.view.show_message(tr("Couldn't write to file: {}").format(str(e))) def get_display_info(self, dupe, group, delta=False): def empty_data(): @@ -718,7 +721,10 @@ class DupeGuru(Broadcaster): :param str filename: path of the file to save results (as XML) to. """ - self.results.save_to_xml(filename) + try: + self.results.save_to_xml(filename) + except OSError as e: + self.view.show_message(tr("Couldn't write to file: {}").format(str(e))) def start_scanning(self): """Starts an async job to scan for duplicates.