From 2e8e58a4a1fe141c592c79cd0bc41d00e91aee51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?N=C3=A9munaire?= Date: Fri, 6 Jul 2012 10:51:08 +0200 Subject: [PATCH] Improve stability of WFA module: catch more error types --- modules/ddg/WFASearch.py | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/modules/ddg/WFASearch.py b/modules/ddg/WFASearch.py index 93b30de..57c8ddf 100644 --- a/modules/ddg/WFASearch.py +++ b/modules/ddg/WFASearch.py @@ -29,11 +29,31 @@ class WFASearch: def error(self): if self.wfares["error"] == "true": return "An error occurs during computation: " + self.wfares.getNode("error").getNode("msg").getContent() + elif self.wfares.hasNode("didyoumeans"): + start = "Did you mean: " + tag = "didyoumean" + end = "?" + elif self.wfares.hasNode("tips"): + start = "Tips: " + tag = "tip" + end = "" + elif self.wfares.hasNode("relatedexamples"): + start = "Related examples: " + tag = "relatedexample" + end = "" + elif self.wfares.hasNode("futuretopic"): + return self.wfares.getNode("futuretopic")["msg"] else: - proposal = list() - for dym in self.wfares.getNode("didyoumeans").getNodes("didyoumean"): + return "An error occurs during computation" + proposal = list() + for dym in self.wfares.getNode(tag + "s").getNodes(tag): + if tag == "tip": + proposal.append(dym["text"]) + elif tag == "relatedexample": + proposal.append(dym["desc"]) + else: proposal.append(dym.getContent()) - return "Did you mean: " + ', '.join(proposal) + "?" + return start + ', '.join(proposal) + end @property def nextRes(self):