Esempio n. 1
0
    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("word"):
            word = vocabulary_word.all().filter(
                "word =", self.request.get("word")).get()
            template_values['word'] = word

            template_values['related_kanji_list'] = []
            for entry in kanji_entry.get(word.related_kanji):
                template_values['related_kanji_list'].append(entry.kanji)

            if not template_values['word']:
                template_values['message'] = 'no word found'

            next_page = 'template/vocab.html'

        else:
            search_string = self.request.get('search_string')

            # setup paged query
            if search_string:
                template_values['search_string'] = search_string
                vocab_query = PagedQuery(
                    vocabulary_word.all().order('modified').filter(
                        'word =', search_string), PAGESIZE)
            else:
                vocab_query = PagedQuery(
                    vocabulary_word.all().order('modified'), 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['vocab_list'] = vocab_query.fetch_page(bookmark)
            template_values['page_links'] = PageLinks(
                page=bookmark,
                page_count=vocab_query.page_count(),
                url_root="/vocab",
                page_field="bookmark",
                page_range=10).get_links()

            next_page = 'template/vocablist.html'

        path = os.path.join(os.path.dirname(__file__), next_page)
        self.response.out.write(template.render(path, template_values))
Esempio n. 2
0
    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("word"):
            word = vocabulary_word.all().filter("word =", self.request.get("word")).get()
            template_values["word"] = word

            template_values["related_kanji_list"] = []
            for entry in kanji_entry.get(word.related_kanji):
                template_values["related_kanji_list"].append(entry.kanji)

            if not template_values["word"]:
                template_values["message"] = "no word found"

            next_page = "template/vocab.html"

        else:
            search_string = self.request.get("search_string")

            # setup paged query
            if search_string:
                template_values["search_string"] = search_string
                vocab_query = PagedQuery(
                    vocabulary_word.all().order("modified").filter("word =", search_string), PAGESIZE
                )
            else:
                vocab_query = PagedQuery(vocabulary_word.all().order("modified"), 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["vocab_list"] = vocab_query.fetch_page(bookmark)
            template_values["page_links"] = PageLinks(
                page=bookmark,
                page_count=vocab_query.page_count(),
                url_root="/vocab",
                page_field="bookmark",
                page_range=10,
            ).get_links()

            next_page = "template/vocablist.html"

        path = os.path.join(os.path.dirname(__file__), next_page)
        self.response.out.write(template.render(path, template_values))
Esempio n. 3
0
    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))
Esempio n. 4
0
    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 ) )