def get(self): src_lc = self.request.get('src_lc') tgt_lc = self.request.get('tgt_lc') text = utf8(self.request.get('text')) if len(text) < 1: self.response.out.write('<form action=/q method=get>') self.response.out.write('<table>') self.response.out.write('<tr><td>Source Lang Code</td><td><input type=text name=src_lc></td></tr>') self.response.out.write('<tr><td>Target Lang Code</td><td><input type=text name=tgt_lc></td></tr>') self.response.out.write('<tr><td>Text</td><td><input type=text name=text></td></tr>') self.response.out.write('<tr><td colspan=2><input type=submit value="Get Translation"></td></tr>') self.response.out.write('</table></form>') else: guid = hashkey(src_lc + '/' + tgt_lc + '/' + text) translation = memcache.get('/ht/' + guid) if translation is not None: self.response.out.write(translation) else: translation = memcache.get('/mt/' + guid) if translation is not None: self.response.out.write(translation) else: if async_query: p = dict( src_lc = src_lc, tgt_lc = tgt_lc, text = text, ) taskqueue.add(url='/worker', params=p) translation = google_mt(text, src_lc, tgt_lc, apikey=config.google_apikey) memcache.set('/mt/' + guid, translation, 600) self.response.out.write(translation) else: self.response.out.write(_(text, src_lc=src_lc, tgt_lc=tgt_lc))
def requesthandler(self): title = _('Hello World') text = _('This is a demonstration of simple human translation using Gengo') usage = _('Usage:', comment='Usage instructions') code = """ <blockquote>sl = 'en'</blockquote> <blockquote>tl = 'es'</blockquote> <blockquote>gengo_public_key = 'foo'</blockquote> <blockquote>gengo_private_key = 'bar'</blockquote> <blockquote>_('Hello World')</blockquote> """ parms = dict( title = title, text = text, usage = usage, code = code, ) path = os.path.join(os.path.dirname(__file__), 'cloudtext.html') self.response.out.write(template.render(path, parms))