better sync failure message, don't prompt for save if open online fails

This commit is contained in:
Damien Elmes 2009-02-26 00:49:41 +09:00
parent c00850e011
commit 1e9c3ff253
2 changed files with 10 additions and 11 deletions

View file

@ -222,6 +222,7 @@ Please do not file a bug report with Anki.<br><br>""")
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()

View file

@ -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"))