Example #1
0
 def get(self, id):
     try:
         s = int(id)
         r = model.GameReplay.get_by_id(s)
     except ValueError:
         r = model.GameReplay.all().filter('game =', id).get()
         if r:
             self.redirect('/replay/%s' % r.key().id())
             return
     if not r:
         self.error(404)
         return
     if not r:
         self.error(404)
         return
     vars = {
         'server': etc.server(),
         'gserver': etc.gserver(),
     }
     vars['key'] = etc.map_key()
     vars['replay'] = r
     if self.request.query_string == 'chat_only':
         vars['record'] = zlib.decompress(r.replay)
         self.renderPage('replay_chat.html', vars)
     else:
         vars['record'] = zlib.decompress(r.replay).replace('\"', '\\"')
         self.renderPage('index.html', vars)
Example #2
0
    def get(self):
        user = model.User.auth(userlib.GoogleUser, self.request, self)

        if user == 'internal_work':
            return

        if user:
            session = model.Session.gen_session(user)
            utils.Cookie.set('gssession', str(session))

            vars = {
                'auth_type': 'google',
                'user': user,
                'session': session,
                'your_key': user.key(),
                'access_friends': False,
                'key': etc.map_key(),
                'server': etc.server(),
                'gserver': etc.gserver(),
                'settings': user.getSettingsAsArray(),
                'hide_bottom': True,
            }
            if not user.tutorial_done:
                vars['run_tutorial'] = True

            self.renderPage('index.html', vars)
        else:
            self.renderText('Please reload the page in few seconds.')
Example #3
0
    def post(self):
        user = model.User.auth(userlib.FBUser, self.request, self)

        if user == 'internal_work':
            return
        elif user:
            session = model.Session.gen_session(user)
            utils.Cookie.set('gssession', str(session))

            vars = {
                'auth_type': 'fb',
                'user': user,
                'session': session,
                'your_key': user.key(),
                'access_friends': user.access_friends(),
                'key': etc.map_key(),
                'server': etc.server(),
                'gserver': etc.gserver(),
                'settings': user.getSettingsAsArray(),
                'fb_app_id': userlib.FBUser.APP_ID,
                'access_token': user.auth_user.access_token,
            }
            if not user.tutorial_done:
                vars['run_tutorial'] = True

            self.renderPage('index.html', vars)
        else:
            self.renderText('Incorrect authorization')
Example #4
0
    def get(self):
        user = model.User.auth(userlib.OdnkUser, self.request, self)
        if user:
            session = model.Session.gen_session(user)
            utils.Cookie.set('gssession', str(session))

            vars = {
                'auth_type': 'odnk',
                'user': user,
                'session': session,
                'your_key': user.key(),
                'access_friends': user.access_friends(),
                'key': etc.map_key(),
                'server': etc.server(),
                'gserver': etc.gserver(),
                'odnk_api_server': user.auth_user.api_server,
                'odnk_apiconnection': user.auth_user.apiconnection,
                'settings': user.getSettingsAsArray()
            }
            if not user.tutorial_done:
                vars['run_tutorial'] = True

            self.renderPage('index.html', vars)
        else:
            self.renderText('Incorrect authorization')
Example #5
0
    def get(self):
        try:
            user = model.User.auth(userlib.MMUser, self.request, self)
        except userlib.MMNotInstalledException:
            self.renderPage('mm_install.html')
        else:
            if user:
                session = model.Session.gen_session(user)
                utils.Cookie.set('gssession', str(session))

                vars = {
                    'auth_type': 'mm',
                    'user': user,
                    'session': session,
                    'your_key': user.key(),
                    'access_friends': user.access_friends(),
                    'key': etc.map_key(),
                    'server': etc.server(),
                    'gserver': etc.gserver(),
                    'settings': user.getSettingsAsArray(),
                    'mm_app_id': userlib.MMUser.MM_APP_ID,
                    'mm_private_key': userlib.MMUser.MM_PRIVATE_KEY
                }
                if not user.tutorial_done:
                    vars['run_tutorial'] = True

                self.renderPage('index.html', vars)
            else:
                self.renderText('Incorrect authorization')
Example #6
0
    def get(self, id):
        id = int(id)
        user = model.User.get_by_id(id)
        if not user:
            self.error(404)
            return
        def getPlaces(obj):
            places = {
                4: [0,0,0,0],
                6: [0,0,0,0,0,0],
                8: [0,0,0,0,0,0,0,0]
            }
            if user.stat_games>0:
                places = {
                    4: [
                        int(float(user.stat_place1)/user.stat_games *100),
                        int(float(user.stat_place2)/user.stat_games *100),
                        int(float(user.stat_place3)/user.stat_games *100),
                        int(float(user.stat_place4)/user.stat_games *100)],
                    6: [
                        int(float(user.stat_6_place1)/user.stat_games *100),
                        int(float(user.stat_6_place2)/user.stat_games *100),
                        int(float(user.stat_6_place3)/user.stat_games *100),
                        int(float(user.stat_6_place4)/user.stat_games *100),
                        int(float(user.stat_6_place5)/user.stat_games *100),
                        int(float(user.stat_6_place6)/user.stat_games *100)],
                    8: [
                        int(float(user.stat_8_place1)/user.stat_games *100),
                        int(float(user.stat_8_place2)/user.stat_games *100),
                        int(float(user.stat_8_place3)/user.stat_games *100),
                        int(float(user.stat_8_place4)/user.stat_games *100),
                        int(float(user.stat_8_place5)/user.stat_games *100),
                        int(float(user.stat_8_place6)/user.stat_games *100),
                        int(float(user.stat_8_place7)/user.stat_games *100),
                        int(float(user.stat_8_place8)/user.stat_games *100)],
                }
            return places
        
        limit=10
        q = model.Stat.getLastGamesQuery(user)
        games = q.fetch(limit)
        cursor = q.cursor()
        q.with_cursor(cursor)
        if q.count(1)==0:
            cursor = None

        stat_season = model.StatSeason.all().filter('user ='******'-season').fetch(12) # temporary for 6 month
        is_reward = False
        for s in stat_season:
            if s.isRewarded():
                is_reward = True

        vars = {'user': user, 
                'places': getPlaces(user),
                'games': games, 'games_empty': len(games)==0,
                'user_type': user.auth_type(),
                'cur_season': model.StatSeason.getCurrentSeasonName(),
                'is_reward': is_reward,
                'is_stat_season': len(stat_season)>0,
                'stat_season': stat_season,
                'gserver': etc.gserver(),
                'cursor': cursor
        }

        if user.has_penalties:
            # load penalties
            q = db.GqlQuery('SELECT * FROM Penalty WHERE user=:1 ORDER BY created DESC', user)
            vars['penalties'] = q.fetch(5)

        session = self.request.get('session')
        if not session:
            session = utils.Cookie.get('gssession')
            if session:
                me = model.Session.get_user_by_session(session)
                if me:
                    vars['me'] = me

        self.renderPage('user.html', vars)