diff options
author | Bruno Wagner <bwgpro@gmail.com> | 2014-11-20 09:58:03 -0200 |
---|---|---|
committer | Bruno Wagner <bwgpro@gmail.com> | 2014-11-20 14:44:45 -0200 |
commit | 6f5bb5312cf1bc52270155570ce4c73d2d884468 (patch) | |
tree | 66318876469974415de755c3fe23c3057d9c6cde /fake-service/app/search | |
parent | f06d639b7644a89fe0c2fff16b0afe2066f172c7 (diff) |
Removed fake service and it is not being used nor mantained anymore
Diffstat (limited to 'fake-service/app/search')
-rw-r--r-- | fake-service/app/search/__init__.py | 16 | ||||
-rw-r--r-- | fake-service/app/search/search_query.py | 86 |
2 files changed, 0 insertions, 102 deletions
diff --git a/fake-service/app/search/__init__.py b/fake-service/app/search/__init__.py deleted file mode 100644 index d6d7b07c..00000000 --- a/fake-service/app/search/__init__.py +++ /dev/null @@ -1,16 +0,0 @@ -# -# Copyright (c) 2014 ThoughtWorks, Inc. -# -# Pixelated is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Pixelated is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with Pixelated. If not, see <http://www.gnu.org/licenses/>. -from search_query import SearchQuery diff --git a/fake-service/app/search/search_query.py b/fake-service/app/search/search_query.py deleted file mode 100644 index 34e68601..00000000 --- a/fake-service/app/search/search_query.py +++ /dev/null @@ -1,86 +0,0 @@ -# -# Copyright (c) 2014 ThoughtWorks, Inc. -# -# Pixelated is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Pixelated is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with Pixelated. If not, see <http://www.gnu.org/licenses/>. -from scanner import StringScanner, StringRegexp -import re - - -def _next_token(): - return StringRegexp('[^\s]+') - - -def _separators(): - return StringRegexp('[\s&]+') - - -def _compile_tag(compiled, token): - tag = token.split(":").pop() - if token[0] == "-": - compiled["not_tags"].append(tag) - else: - compiled["tags"].append(tag) - return compiled - - -class SearchQuery: - - @staticmethod - def compile(query): - compiled = {"tags": [], "not_tags": [], "general": []} - - scanner = StringScanner(query.encode('utf8').replace("\"", "")) - first_token = True - while not scanner.is_eos: - token = scanner.scan(_next_token()) - - if not token: - scanner.skip(_separators()) - continue - - if ":" in token: - compiled = _compile_tag(compiled, token) - elif first_token: - compiled["general"].append(token) - - if not first_token: - first_token = True - - compiled["general"] = ' '.join(compiled["general"]) - return SearchQuery(compiled) - - def __init__(self, compiled): - self.compiled = compiled - - def test(self, mail): - if 'all' in self.compiled.get('tags'): - return True - - if set(self.compiled.get('not_tags')).intersection(set(mail.tags)): - return False - - if set(self.compiled.get('tags')).intersection(set(mail.tags)): - return True - - if self.compiled.get('general'): - search_terms = re.compile( - self.compiled['general'], - flags=re.IGNORECASE) - if search_terms.search(mail.subject+' '+mail.body): - return True - - if not [v for v in self.compiled.values() if v]: - return True - - return False |