예제 #1
0
 def register(self):
     data = cherrypy.request.json
     username = data['username']
     password = data['password']
     cherrypy.response.headers['Content-Type'] = 'text/plain'
     world().users.register(username, password)
     return "Success!"
예제 #2
0
 def __init__(self):
     from lib.World import world
     self._location = None
     self.wheight = None
     self.name = None
     self.setLocation((0, 10))
     self.id = world().nextId()
예제 #3
0
 def login(self):
     data = cherrypy.request.json
     username = data['username']
     password = data['password']
     cherrypy.response.headers['Content-Type'] = 'text/plain'
     sessionId = world().users.login(username, password)
     cherrypy.response.cookie['session'] = sessionId
     cherrypy.response.cookie['username'] = username
     return b''
예제 #4
0
    def getPlayer(required=False):
        player = None
        username = cherrypy.request.cookie.get('username', None)
        if username != None:
            sessionId = cherrypy.request.cookie.get('session', None)
            if sessionId != None:
                player = world().users.getUser(username.value)
                player.validateSessionId(sessionId.value)

        if required and player == None:
            raise SimpleHttpError(400, 'Valid player not supplied')
        else:
            return player
예제 #5
0
 def locations(self):
     cherrypy.response.headers['Content-Type'] = 'text/plain'
     return pprint.pformat(world().locations)
예제 #6
0
 def setLocation(self, value):
     from lib.World import world
     world().locations.get(self._location, [self]).remove(self)
     self._location = value
     world().locations.setdefault(self._location, []).append(self)