def index_post(): # new Data to GAE secret = 'the password is %s and the salt-of-this-secret' game_name = request.forms.get('game_name').strip().decode('utf-8') game_code = '' password = request.forms.get('game_password').strip() password_hashed = ((password == '') and [''] or [md5.new(secret % password).hexdigest()])[0] money = request.forms.get('coins').strip() nop = int(request.forms.get('number_of_player').strip()) names = request.forms.getall('player_name') r = MonopolyRoom(game_name=game_name, password=password_hashed, number_of_player=nop) r.put() id = r.key().id() game_code = tiny_encode(id) r.game_code = game_code r.put() # Create room in Firebase fb = Firebase('https://summerwxy.firebaseio.com/monopoly/%s' % game_code) foo = {'nop': nop, 'player': {}, 'log': {}} for i in xrange(nop): foo['player'][i] = {'name': names[i], 'coins': money} foo['log'][i] = {'className': 'log999 log' + str(i), 'from': 999, 'to': i, 'coins': money} #var logClassName = _.template('log<\%=f%\> log<\%=t%\>'); # log.push({'className': logClassName({'f': from_id, 't': to_id}), 'from': from_id, 'to': to_id, 'coins': coins}); fb.put(foo) # if create with password, login diretly if password_hashed: session = get_current_session() session['allow'] = game_code redirect('/monopoly/%s' % game_code)
def index(): room = request.query.get('d') if room: room = room.strip() q = MonopolyRoom.all() q.filter('game_code = ', room) result = q.get() if result: # delete from GAE result.delete() # delete from Firebase fb = Firebase('https://summerwxy.firebaseio.com/monopoly/%s' % room) fb.remove() redirect('/monopoly') return # show list session = get_current_session() allow = session.get('allow', '') q = MonopolyRoom.all() q.order('-created') data = [] for r in q.run(limit=10): data.append({'game_name': r.game_name, 'game_code': r.game_code, 'number_of_player': r.number_of_player, 'status': not r.password and '公開' or (r.game_code == allow) and '私人(已進入)' or '私人'}) return dict({'data': data})