From 94311153c81626167a24c0ddd6736cd4e60131e0 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Fri, 21 Jan 2011 09:55:12 +0900 Subject: [PATCH] don't let user create decks with certain characters --- ankiqt/ui/main.py | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/ankiqt/ui/main.py b/ankiqt/ui/main.py index 7342e345b..6b7e5d003 100755 --- a/ankiqt/ui/main.py +++ b/ankiqt/ui/main.py @@ -924,15 +924,28 @@ Debug info:\n%s""") % traceback.format_exc(), help="DeckErrors") if not self.inMainWindow() and not path: return if not self.saveAndClose(hideWelcome=True): return register = not path + bad = ":/\\" + name = _("mydeck") if not path: if not prompt: prompt = _("Please give your deck a name:") - name = ui.utils.getOnlyText( - prompt, default=_("mydeck"), title=_("New Deck")) - if not name: - return - if not name.endswith(".anki"): - name += ".anki" + while 1: + name = ui.utils.getOnlyText( + prompt, default=name, title=_("New Deck")) + if not name: + return + found = False + for c in bad: + if c in name: + ui.utils.showInfo( + _("Sorry, '%s' can't be used in deck names.") % c) + found = True + break + if found: + continue + if not name.endswith(".anki"): + name += ".anki" + break path = os.path.join(self.documentDir, name) if os.path.exists(path): if ui.utils.askUser(_("That deck already exists. Overwrite?"),