I am not sure this is a web2py questions. You should first implement a 
regular Python module for grammar checking. When it works you can use it 
from web2py. I would not put anything web2py specific in this code.

On Saturday, 28 February 2015 07:07:18 UTC-6, Kelvin Nyota wrote:
>
>
>
> I am trying to implement a python grammar checker on web2py. I  already 
> have the part of the code that needs modification. What I need is a code 
> that can highlight text on the searched words that need replacing by 
> showing a drop down list of better suggestions when you point at it. The 
> code should highlight text with a different color and warn the user before 
> the replacement is made like what microsoft word does. My code on the 
> terminal does not do that at all. It just changes the words without warning 
> the user which can be risky. I will share with you the part of the code 
> that needs modification. Please help!
>
> Please tell me the parts that need modification or changing:
>
> class WordReplacer(object):
>             def __init__(self, word_map):
>                 self.word_map = word_map
>     
>             def replace(self, word):
>                 return self.word_map.get(word, word)
>
>
> class CsvWordReplacer(WordReplacer):
>             def __init__(self, fname):
>                 word_map = {}
>                 for line in csv.reader(open(fname)):
>                     word, syn = line
>                     word_map[word] = syn
>                 super(CsvWordReplacer, self).__init__(word_map)
>
>
> class YamlWordReplacer(WordReplacer):
>             def __init__(self, fname):
>                 word_map = yaml.load(open(fname))
>                 super(YamlWordReplacer, self).__init__(word_map)
>
>
>
> class AntonymReplacer(object):
>             def replace(self, word, pos=None):
>                 antonyms = set()
>                 for syn in wordnet.synset(word, pos=pos):
>                     for lemma in syn.lemmas:
>                         for antonym in lemma.antonyms():
>                             antonyms.add(antonym.name)
>                 if len(antonyms) == 1:
>                     return antonyms.pop()
>
>                 else:
>                     return None
>
>
>             def replace_negations(self, sent):
>                 i, l = 0, len(sent)
>                 words = []
>                 while i < l:
>                     word = sent[i]
>                     if word == 'not' and i+1 < l:
>                         ant = self.replace(sent[i+1])
>                         if ant:
>                             words.append(ant)
>                             i += 2
>                             continue
>                         words.append(word)
>                         i += 1
>                     return words
>
>
> class AntonymWordReplacer(WordReplacer, AntonymReplacer):
>         pass
>
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to