Example #1
0
    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}
Example #2
0
 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!"
Example #3
0
    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
Example #4
0
 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())
Example #5
0
 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()}
Example #6
0
 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) }
Example #7
0
 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'
Example #8
0
 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 ''
Example #9
0
    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)