def getRoomDescription(cursor, roomid): """ Gets the room decription from the database. """ query = Q.GetRoomDescription % {DC.RoomID: roomid} res = pgDB.fetchOneValue(cursor, query) if not res: #FIXME We need an /unstick command that resets peoples location. res = "You seem to be stuck. Please contact an"\ " administrator and tell them that you've gotten somewhere"\ " you shouldn't be able to get to." return res
def getExits(cursor, roomid): query = Q.GetExits % {DC.RoomID: roomid} res = pgDB.fetchOneValue(cursor, query) try: exitDict = misc.getDict(res) except TypeError: # Area does not exist. print "ERROR! User attempted to go to room %s, which, "\ "seemingly, does not exist." % roomid exits = {} for exit, data in exitDict.items(): exits[lower(exit)] = data.split('|') return exits
def getUserData(cursor, userid, field = None): """ Return either one, some, or all of the fields in the UserData table for the given userid. """ if not field: query = Q.GetAllUserData % {DC.UserID: userid} res = pgDB.fetchDict(cursor, query) return res[0] else: if type(field) in (ListType, TupleType): field = ','.join(field) query = Q.GetUserData % (field, userid) return pgDB.fetchOne(cursor, query) else: query = Q.GetUserData % (field, userid) return pgDB.fetchOneValue(cursor, query)
def getUserData(cursor, userid, field=None): """ Return either one, some, or all of the fields in the UserData table for the given userid. """ if not field: query = Q.GetAllUserData % {DC.UserID: userid} res = pgDB.fetchDict(cursor, query) return res[0] else: if type(field) in (ListType, TupleType): field = ','.join(field) query = Q.GetUserData % (field, userid) return pgDB.fetchOne(cursor, query) else: query = Q.GetUserData % (field, userid) return pgDB.fetchOneValue(cursor, query)
def getPasswordHash(cursor, userid): query = Q.GetPassword % {DC.UserID: userid} return pgDB.fetchOneValue(cursor, query)
def getArea(cursor, roomid): query = Q.GetAreaID % {DC.RoomID: roomid} return pgDB.fetchOneValue(cursor, query)
def getThreadID(cursor, userid): query = Q.GetThreadID % {DC.UserID: userid} return pgDB.fetchOneValue(cursor, query)
def getLocation(cursor, userid): queryDict = { DC.UserID: userid, } query = Q.GetLocation % queryDict return pgDB.fetchOneValue(cursor, query)
def getUserLocation(cursor, userid): queryDict = { DC.UserID: userid, } query = Q.GetUserRoomID % queryDict return pgDB.fetchOneValue(cursor, query)