From de8326d00dffdb500c02839a98330b869c2457f3 Mon Sep 17 00:00:00 2001 From: Jon Dufresne Date: Sat, 22 Dec 2018 09:28:48 -0800 Subject: Trim trailing white space throughout the project Many editors clean up trailing white space on save. By removing it all in one go, it helps keep future diffs cleaner by avoiding spurious white space changes on unrelated lines. --- examples/searchparser.py | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) (limited to 'examples/searchparser.py') diff --git a/examples/searchparser.py b/examples/searchparser.py index 36e3cd7..d645a1f 100644 --- a/examples/searchparser.py +++ b/examples/searchparser.py @@ -2,7 +2,7 @@ version 2006-03-09 -This search query parser uses the excellent Pyparsing module +This search query parser uses the excellent Pyparsing module (http://pyparsing.sourceforge.net/) to parse search queries by users. It handles: @@ -30,7 +30,7 @@ are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation + this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Estrate nor the names of its contributors may be used to endorse or promote products derived from this software without specific @@ -41,10 +41,10 @@ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. CONTRIBUTORS: @@ -72,12 +72,12 @@ class SearchQueryParser: 'wordwildcard': self.evaluateWordWildcard, } self._parser = self.parser() - + def parser(self): """ This function returns a parser. The grammar should be like most full text search engines (Google, Tsearch, Lucene). - + Grammar: - a query consists of alphanumeric words, with an optional '*' wildcard at the end of a word @@ -89,19 +89,19 @@ class SearchQueryParser: - if an operator is missing, use an 'and' operator """ operatorOr = Forward() - + operatorWord = Group(Combine(Word(alphanums) + Suppress('*'))).setResultsName('wordwildcard') | \ Group(Word(alphanums)).setResultsName('word') - + operatorQuotesContent = Forward() operatorQuotesContent << ( (operatorWord + operatorQuotesContent) | operatorWord ) - + operatorQuotes = Group( Suppress('"') + operatorQuotesContent + Suppress('"') ).setResultsName("quotes") | operatorWord - + operatorParenthesis = Group( (Suppress("(") + operatorOr + Suppress(")")) ).setResultsName("parenthesis") | operatorQuotes @@ -117,7 +117,7 @@ class SearchQueryParser: ).setResultsName("and") | Group( operatorNot + OneOrMore(~oneOf("and or") + operatorAnd) ).setResultsName("and") | operatorNot) - + operatorOr << (Group( operatorAnd + Suppress(Keyword("or", caseless=True)) + operatorOr ).setResultsName("or") | operatorAnd) @@ -158,7 +158,7 @@ class SearchQueryParser: def evaluateWordWildcard(self, argument): return self.GetWordWildcard(argument[0]) - + def evaluate(self, argument): return self._methods[argument.getName()](argument) @@ -230,7 +230,7 @@ class ParserTest(SearchQueryParser): 7: 'nothing', 8: 'helper', } - + index = { 'help': {1, 2, 4, 5}, 'me': {2}, @@ -264,7 +264,7 @@ class ParserTest(SearchQueryParser): if self.docs[item].count(search_string): result.add(item) return result - + def GetNot(self, not_set): all = set(list(self.docs.keys())) return all.difference(not_set) @@ -284,7 +284,7 @@ class ParserTest(SearchQueryParser): print('>>>>>>>>>>>>>>>>>>>>>>Test ERROR<<<<<<<<<<<<<<<<<<<<<') print('') return all_ok - + if __name__=='__main__': if ParserTest().Test(): print('All tests OK') -- cgit v1.2.1