Пример #1
0
    def get(self):
        args = {}
        pagename = 'achievements.html'

        query = UserAchievement.all()
        query.order('created')

        ids = []
        infos = {}
        for achi in query:
            achi = achi.to_dict()
            aid = achi['aid']
            if aid not in ids:
                ids.append(aid)
            info = infos.setdefault(aid, {'title': achi['title'],
                                          'count': 0,
                                          'date': achi['created'],
                                          'owner': achi['owner'],
                                          'url': achi['relative_url'],
                                          })
            info['count'] += 1

        args['achievements'] = [infos[aid] for aid in ids]

        # current user related info
        if self.current_user:
            args['profile'] = self.current_user.profile

        dirname = os.path.dirname(__file__)
        path = os.path.join(dirname, 'view', pagename)
        self.response.out.write(template.render(path, args))
Пример #2
0
    def get(self, key):
        pagename = None
        args = None

        ua = UserAchievement.get_by_id(int(key))
        if ua == None:
            pagename = "achievement_not_found.html"
            args = {}
        else:
            pagename = "achievement.html"
            args = ua.to_dict()

        # current user related info
        if self.current_user:
            args['profile'] = self.current_user.profile

        dirname = os.path.dirname(__file__)
        path = os.path.join(dirname, 'view', pagename)
        self.response.out.write(template.render(path, args))