def start(self):

		buildingsManager = BuildingsManager()

		days = []
		startDate = datetime.strptime(self.startDate, '%Y-%m-%d')
		for i in range(0, self.numberOfDays):
			days.append( (startDate + timedelta(days=i)).strftime("%Y-%m-%d"))


		for room in buildingsManager.getRooms(self.buildingName)["rooms"]:

			roomName = room["roomName"]

			if self.roomFilter:
				if not roomName in self.roomFilter:
					continue

			simulationResult = {}
			for day in days:

				roomSimulator = RoomSimulator(buildingName = self.buildingName, roomName = roomName, currentDate = day)
				simulationResult[day] = roomSimulator.start()

			if not os.path.exists("tools/simulation/results/"): os.makedirs("tools/simulation/results/")
			out_file = open("tools/simulation/results/" + roomName + ".json","w")
			out_file.write(json.dumps(simulationResult, separators=(',', ':')))
			out_file.close()
示例#2
0
文件: api.py 项目: andreuke/danger
def buildingRooms(username=None, buildingName=None):

    if request.method == "POST":

        sessionKey = validateInput(request.form["sessionKey"])
        userUuid = validateInput(request.form["userUuid"])

        try:
            session = SessionManager()
            session.checkSessionValidity(sessionKey, userUuid)
            buildingsManager = BuildingsManager()
            buildingsManager.checkUserBinding(buildingName, username)
            return returnResult(buildingsManager.getRooms(buildingName=buildingName, username=username))
        except Exception as e:
            return returnError(e)