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 sugest_ajax(self, *args): if self.params.Wordkey and self.params.Sugestion: word = Word.get(self.params.Wordkey) sugestion = self.params.Sugestion sug = WordSugestion.CreateNew2(word, sugestion, self.User, _isAutoInsert=True) return "Suggestion is saved. Thanks for helping!" else: return "Cannot Add the Suggestion!"
def randomSample(self, fr, to, cnt): offset = random.randint(fr, to) if offset+cnt>to: offset=to-cnt randomResults = Word.all().fetch(limit=cnt, offset=offset) result = randomResults # for t in range(0,cnt): # result.append(randomResults[random.randint(0,len(randomResults))]) return result
def delete(self, *args): if self.params.key: item = Word.get(self.params.key) if item: item.delete() self.status ='Word is deleted!' else: self.status='Word does not exist' else: self.status = 'Key was not Provided!' self.redirect(WordController.get_url())
def edit(self, *args): if self.params.key: item = Word.get(self.params.key) if item: result = {'op':'update', 'WordForm': WordForm(instance=item)} return result else: self.status = 'Word does not exists' self.redirect(WordController.get_url()) else: return {'op':'insert' ,'WordForm':WordForm()}
def index(self, *args): results =None index = 0; count=50 try: index = int(self.params.index) count = int(self.params.count) if count<0: index += count except: pass r= Word.all().fetch(limit=abs(count), offset=index) index+=count return {'WordList':r, 'index':index, 'count':abs(count) }
def bulkDelete(self, *args): try: f=int(self.params.From) items = Word.all().fetch(limit=100, offset=0) if len(items)>0: db.delete(items) return str(f+100) else: return '-1' time.sleep(0.5) except TransactionFailedError, msg: logging.error(msg) return '-1'
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 ''
def save(self, *args): instance = None if self.params.key: instance = Word.get(self.params.key) form=WordForm(data=self.request.POST, instance=instance) if form.is_valid(): result=form.save(commit=False) result.Value = result.Value.replace('<p>', '').replace('</p>', '') # result.Translation = result.Translation.strip('<p>') result.put() self.status = 'Word is saved' self.redirect(WordController.get_url()) else: self.SetTemplate(templateName = 'Word_edit.html') self.status = 'Form is not Valid' result = {'op':'update', 'WordForm': form} self.respond(result)