def findFreeRoom(building,floor=None,stime=None,etime=None): print "Got free room request in: ",building, " ", floor, " from: ",stime, " to: ", etime if stime == None: stime = float(datetime.datetime.now().timetuple()[3]) if etime == None: etime = 19.0 if stime >= 19.0: etime == 24.0 if floor == None: try: b = Model.findBuilding(building) r = b.getAllRooms() except: raise else: try: f = Model.findFloor(building,floor) r = f.getAllRooms() except: raise rooms = filter(lambda x: isAllocateableRoom(x),r) ret = [] for room in rooms: # print "Reading location from", room.building, " ", room.floor, " ", room.number if ETHReadRoomAllocation.isRoomFree(room,stime,etime): ret.append(room.getDetailedInfo()) return ret
def getRoomAllocation(building, room, floor): try: r = Model.findRoom(building, room, floor) timetable = ETHReadRoomAllocation.getRoomAllocation(r) return resultOkay(timetable) except NotFoundException as e: return resultError(e.getError())