From 1e9c3ff253885700c1e4ff2e068980b02ec916f2 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Thu, 26 Feb 2009 00:49:41 +0900 Subject: [PATCH] better sync failure message, don't prompt for save if open online fails --- ankiqt/ui/main.py | 9 ++++----- ankiqt/ui/sync.py | 12 ++++++------ 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/ankiqt/ui/main.py b/ankiqt/ui/main.py index 678e90163..e7218b54f 100644 --- a/ankiqt/ui/main.py +++ b/ankiqt/ui/main.py @@ -222,6 +222,7 @@ Please do not file a bug report with Anki.

""") if 'state' != 'noDeck' and state != 'editCurrentFact': self.switchToReviewScreen() if state == "noDeck": + self.deck = None self.switchToWelcomeScreen() self.help.hide() self.currentCard = None @@ -1606,13 +1607,11 @@ day = :d""", d=yesterday) name = ui.sync.DeckChooser(self, decks, create).getName() self.syncName = name if name: - if name == self.syncName: - self.syncDeck(create=True, interactive=False) - else: - self.syncDeck(interactive=False) + # name chosen + onlyMerge = self.loadAfterSync == 2 + self.syncDeck(create=True, interactive=False, onlyMerge=onlyMerge) else: if not create: - # called via 'new' - close self.cleanNewDeck() else: self.syncFinished() diff --git a/ankiqt/ui/sync.py b/ankiqt/ui/sync.py index acd5478b8..fe48b7fe8 100644 --- a/ankiqt/ui/sync.py +++ b/ankiqt/ui/sync.py @@ -49,10 +49,10 @@ class Sync(QThread): msg=_("Please double-check your username/password.") elif error.data.get('status') == "oldVersion": msg=_("The sync protocol has changed. Please upgrade.") - elif error.data.get('type') == "noResponse": - msg=_("Server is down or operation failed.") else: - msg=_("Unknown error: %s") % `error.data` + msg=_("""\ +Syncing failed. Please try again in a few minutes. +If the problem persists, please report it on the forum.""") return msg def connect(self, *args): @@ -153,14 +153,14 @@ class Sync(QThread): time.sleep(0.25) self.emit(SIGNAL("syncFinished")) except Exception, e: - traceback.print_exc() + self.ok = False + #traceback.print_exc() self.deck.close() # cheap hack to ensure message is displayed err = `getattr(e, 'data', None) or e` self.setStatus(_("Syncing failed: %(a)s") % { 'a': err}) - time.sleep(3) - self.emit(SIGNAL("syncFinished")) + self.error(e) def doBulkDownload(self, deckname): self.emit(SIGNAL("openSyncProgress"))