def search(self, *args): if self.isAjax: return self.search_ajax() else: results = [] # languages = Language.all().fetch(limit=100) transAvailable = [] dictionaries = Dictionary.all().fetch(limit=1000) for dict in dictionaries: if not ([dict.Language1, dict.Language2] in transAvailable): transAvailable.append([dict.Language1, dict.Language2]) searches = [] for langPair in transAvailable: searches.append( SearchForm(instance = Search.CreateNew('', langPair[0], langPair[1])) ) showMessage=False if self.params.text: showMessage=True val = self.replaceWithCyrillic(self.params.Text) results = Word.gql('WHERE Value= :v', v=val).fetch(limit=100) randomResults = self.randomSample(30, DICT_SIZE, 5) return {'SearchForms':searches,'results':results, 'showMessage':showMessage, 'randomResults':randomResults}
def search_ajax(self, *args): self.SetTemplate(templateGroup='form', templateName='SearchForm_results.html') offset = self.params.offset and int(self.params.offset) or 0 results =[] showMessage=False sf = SearchForm(self.request.POST) if sf.is_valid(): showMessage = True search = sf.save(commit=False) #search.Text = self.replaceWithCyrillic(search.Text) results = Word.gql('WHERE Value= :v', v=search.Text).fetch(limit=100, offset=offset) return {'results':results, 'showMessage':showMessage} else: return ''