def get(self): template_values = { 'user': users.get_current_user(), 'admin': users.is_current_user_admin(), 'date_string': datetime.now().ctime(), 'url': users.create_logout_url(self.request.host_url), 'link_text': 'logout', } if self.request.get('kanji'): kanji = kanji_entry.all().filter("kanji =", self.request.get('kanji')).get() template_values['kanji'] = kanji if not template_values['kanji']: template_values['message'] = 'no kanji found' next_page = 'template/kanji.html' else: # setup paged query kanji_query = PagedQuery(kanji_entry.all(), PAGESIZE) # retreive requested page number, defaulting to page 1 bookmark = self.request.get('bookmark') if bookmark: bookmark = int(bookmark) else: bookmark = 1 logging.info('bookmark=' + str(bookmark)) template_values['bookmark'] = str(bookmark) template_values['kanji_list'] = kanji_query.fetch_page(bookmark) template_values['page_links'] = PageLinks( page=bookmark, page_count=kanji_query.page_count(), url_root="/kanji", page_field="bookmark", page_range=10).get_links() next_page = 'template/kanjilist.html' path = os.path.join(os.path.dirname(__file__), next_page) self.response.out.write(template.render(path, template_values))
def get( self ): template_values = { 'user': users.get_current_user(), 'admin': users.is_current_user_admin(), 'date_string': datetime.now().ctime(), 'url': users.create_logout_url( self.request.host_url ), 'link_text': 'logout', } if self.request.get( 'kanji' ): kanji = kanji_entry.all().filter( "kanji =", self.request.get( 'kanji' ) ).get() template_values['kanji'] = kanji if not template_values['kanji']: template_values['message'] = 'no kanji found' next_page = 'template/kanji.html' else: # setup paged query kanji_query = PagedQuery( kanji_entry.all(), PAGESIZE ) # retreive requested page number, defaulting to page 1 bookmark = self.request.get( 'bookmark' ) if bookmark: bookmark = int( bookmark ) else: bookmark = 1 logging.info( 'bookmark=' + str( bookmark ) ) template_values['bookmark'] = str( bookmark ) template_values['kanji_list'] = kanji_query.fetch_page( bookmark ) template_values['page_links'] = PageLinks( page = bookmark, page_count = kanji_query.page_count(), url_root = "/kanji", page_field = "bookmark", page_range = 10 ).get_links() next_page = 'template/kanjilist.html' path = os.path.join( os.path.dirname( __file__ ), next_page ) self.response.out.write( template.render( path, template_values ) )
def post(self): # add kanji to datastore template_values = { 'timestamp': time.mktime(datetime.utcnow().timetuple()), 'count': 0, } kanji_list = [] existing_kanji = [] kanji_query = kanji_entry.all() for kanji in kanji_query: existing_kanji.append(kanji.kanji) # kanji_list is a set of unique strings new_kanji = self.request.get('kanji') new_index = self.request.get('index') new_kanji = new_kanji.strip() if new_kanji in existing_kanji: message = "%s already in kanji list" % (new_kanji) elif new_kanji and not new_kanji in existing_kanji: new_entry = kanji_entry(kanji=new_kanji) if new_index: new_entry.index = int(new_index) new_entry = kanji_entry.get(new_entry.put()) message = "%s added to kanji list" % (new_kanji) kanji_list.append(new_entry) else: message = "%s NOT added to kanji list" % (new_kanji) logging.info(message) template_values['message'] = message if kanji_list: template_values['kanji_list'] = kanji_list template_values['count'] = len(kanji_list) next_page = 'template/kanjifeed.xml' path = os.path.join(os.path.dirname(__file__), next_page) self.response.out.write(template.render(path, template_values))
def post( self ): # add kanji to datastore template_values = { 'timestamp': time.mktime( datetime.utcnow().timetuple() ), 'count': 0, } kanji_list = [] existing_kanji = [] kanji_query = kanji_entry.all() for kanji in kanji_query: existing_kanji.append( kanji.kanji ) # kanji_list is a set of unique strings new_kanji = self.request.get( 'kanji' ) new_index = self.request.get( 'index' ) new_kanji = new_kanji.strip() if new_kanji in existing_kanji: message = "%s already in kanji list" % ( new_kanji ) elif new_kanji and not new_kanji in existing_kanji: new_entry = kanji_entry( kanji = new_kanji ) if new_index: new_entry.index = int( new_index ) new_entry = kanji_entry.get( new_entry.put() ) message = "%s added to kanji list" % ( new_kanji ) kanji_list.append( new_entry ) else: message = "%s NOT added to kanji list" % ( new_kanji ) logging.info( message ) template_values['message'] = message if kanji_list: template_values['kanji_list'] = kanji_list template_values['count'] = len( kanji_list ) next_page = 'template/kanjifeed.xml' path = os.path.join( os.path.dirname( __file__ ), next_page ) self.response.out.write( template.render( path, template_values ) )
def get(self): # returns all kanji in datastore kanji_list = [] template_values = { 'timestamp': time.mktime(datetime.utcnow().timetuple()), 'count': 0, } kanji_query = kanji_entry.all() for kanji in kanji_query: kanji_list.append(kanji) if kanji_list: template_values['kanji_list'] = kanji_list template_values['count'] = len(kanji_list) next_page = 'template/kanjifeed.xml' path = os.path.join(os.path.dirname(__file__), next_page) self.response.out.write(template.render(path, template_values))
def get( self ): # returns all kanji in datastore kanji_list = [] template_values = { 'timestamp': time.mktime( datetime.utcnow().timetuple() ), 'count': 0, } kanji_query = kanji_entry.all() for kanji in kanji_query: kanji_list.append( kanji ) if kanji_list: template_values['kanji_list'] = kanji_list template_values['count'] = len( kanji_list ) next_page = 'template/kanjifeed.xml' path = os.path.join( os.path.dirname( __file__ ), next_page ) self.response.out.write( template.render( path, template_values ) )
def post( self ): new_words = [] existing_words = [] data = get_system_data() template_values = { 'timestamp': time.mktime( datetime.utcnow().timetuple() ), 'count': 0, } word_query = vocabulary_word.all() for word in word_query: existing_words.append( word ) new_word = self.request.get( 'word' ) if new_word: # retrieve existing record if any or create new record vocab_query = vocabulary_word.all() vocab_query.filter( "word =", new_word ) vocab = vocab_query.get() is_new_word = False if not vocab: vocab = vocabulary_word( word = new_word ) is_new_word = True # insert any new readings and meanings new_readings = self.request.get_all( 'reading' ) for new_reading in new_readings: new_reading = new_reading.strip() if new_reading and not new_reading in vocab.readings: vocab.readings.append( new_reading ) new_meanings = self.request.get_all( 'meaning' ) for new_meaning in new_meanings: new_meaning = new_meaning.strip() if new_meaning and not new_meaning in vocab.meanings: vocab.meanings.append( new_meaning ) # link related kanji for related_kanji in self.request.get_all( 'kanji' ): logging.info( "adding kanji '%s'" % related_kanji ) try: kanji_query = kanji_entry.all() kanji_query.filter( "kanji =", related_kanji ) related_kanji_entry = kanji_query.get() if related_kanji_entry: vocab.related_kanji.append( related_kanji_entry.key() ) if related_kanji_entry.kanji_index > vocab.max_kanji_index: vocab.max_kanji_index = related_kanji_entry.kanji_index except: logging.error( "failed to add related kanji %s" % related_kanji ) vocab = vocabulary_word.get( vocab.put() ) if is_new_word: data.word_count = data.word_count + 1 data.put() message = "new word '%s' created" % ( vocab.word ) new_words.append( vocab ) template_values['message'] = message if new_words: template_values['words'] = new_words template_values['count'] = len( new_words ) next_page = 'template/vocabfeed.xml' path = os.path.join( os.path.dirname( __file__ ), next_page ) self.response.out.write( template.render( path, template_values ) )
def post(self): new_words = [] existing_words = [] data = get_system_data() template_values = { 'timestamp': time.mktime(datetime.utcnow().timetuple()), 'count': 0, } word_query = vocabulary_word.all() for word in word_query: existing_words.append(word) new_word = self.request.get('word') if new_word: # retrieve existing record if any or create new record vocab_query = vocabulary_word.all() vocab_query.filter("word =", new_word) vocab = vocab_query.get() is_new_word = False if not vocab: vocab = vocabulary_word(word=new_word) is_new_word = True # insert any new readings and meanings new_readings = self.request.get_all('reading') for new_reading in new_readings: new_reading = new_reading.strip() if new_reading and not new_reading in vocab.readings: vocab.readings.append(new_reading) new_meanings = self.request.get_all('meaning') for new_meaning in new_meanings: new_meaning = new_meaning.strip() if new_meaning and not new_meaning in vocab.meanings: vocab.meanings.append(new_meaning) # link related kanji for related_kanji in self.request.get_all('kanji'): logging.info("adding kanji '%s'" % related_kanji) try: kanji_query = kanji_entry.all() kanji_query.filter("kanji =", related_kanji) related_kanji_entry = kanji_query.get() if related_kanji_entry: vocab.related_kanji.append(related_kanji_entry.key()) if related_kanji_entry.kanji_index > vocab.max_kanji_index: vocab.max_kanji_index = related_kanji_entry.kanji_index except: logging.error("failed to add related kanji %s" % related_kanji) vocab = vocabulary_word.get(vocab.put()) if is_new_word: data.word_count = data.word_count + 1 data.put() message = "new word '%s' created" % (vocab.word) new_words.append(vocab) template_values['message'] = message if new_words: template_values['words'] = new_words template_values['count'] = len(new_words) next_page = 'template/vocabfeed.xml' path = os.path.join(os.path.dirname(__file__), next_page) self.response.out.write(template.render(path, template_values))