示例#1
0
    def store(self):

        database = Database()
        database.open()

        if self.id:

            query = "SELECT COUNT(id) FROM appliances_network WHERE id = '@@id@@';"
            query = self.__replaceSqlQueryToken(query)
            queryResult = database.executeReadQuery(query)

            if int(queryResult[0][0]) > 0:
                query = "UPDATE appliances_network SET name = '@@name@@', label = '@@label@@', brand = '@@brand@@', model = '@@model@@', smart_appliance = '@@smart_appliance@@', protocol = '@@protocol@@', address = '@@address@@', timeslots = '@@timeslots@@' WHERE id = '@@id@@';"

        else:

            query = "SELECT COUNT(id) FROM appliances_network WHERE name = '@@name@@';"
            query = self.__replaceSqlQueryToken(query)
            queryResult = database.executeReadQuery(query)

            if int(queryResult[0][0]) > 0:
                query = "UPDATE appliances_network SET name = '@@name@@', label = '@@label@@', brand = '@@brand@@', model = '@@model@@', smart_appliance = '@@smart_appliance@@', protocol = '@@protocol@@', address = '@@address@@', timeslots = '@@timeslots@@' WHERE name = '@@name@@';"
            else:
                query = "INSERT INTO appliances_network (name, label, brand, model, smart_appliance, protocol, address, timeslots) VALUES ('@@name@@', '@@label@@', '@@brand@@', '@@model@@', '@@smart_appliance@@', '@@protocol@@', '@@address@@', '@@timeslots@@');"

        query = self.__replaceSqlQueryToken(query)
        database.executeWriteQuery(query)
        database.close()
示例#2
0
	def delete(self):

		database = Database()
		database.open()

		query = "DELETE FROM settings WHERE s_key = '@@s_key@@';"
		query = self.__replaceSqlQueryToken(query)
		database.executeWriteQuery(query)

		database.close()
示例#3
0
    def delete(self):

        database = Database()
        database.open()

        query = "DELETE FROM feedbacks WHERE id = '@@id@@';"
        query = self.__replaceSqlQueryToken(query)
        database.executeWriteQuery(query)

        database.close()
示例#4
0
	def deleteRoom(self, room):
		database = Database()
		database.open()

		query = "DELETE FROM rooms_groups WHERE room_name = '@@room_name@@' AND building_name = '@@building_name@@' AND group_id = '@@id@@';"
		query = self.__replaceSqlQueryToken(query)
		query = query.replace("@@room_name@@", str(room.roomName))
		database.executeWriteQuery(query)

		database.close()
示例#5
0
    def store(self):

        database = Database()
        database.open()

        query = "INSERT INTO sessions (session_key, user_uuid, expire_timestamp) VALUES ('@@session_key@@', '@@user_uuid@@', '@@expire_timestamp@@');"

        query = self.__replaceSqlQueryToken(query)
        database.executeWriteQuery(query)
        database.close()
示例#6
0
	def addRoom(self, room):
		database = Database()
		database.open()

		query = "INSERT INTO rooms_groups (group_id, building_name, room_name) VALUES ('@@id@@', '@@building_name@@', '@@room_name@@');"
		query = self.__replaceSqlQueryToken(query)
		query = query.replace("@@room_name@@", str(room.roomName))
		database.executeWriteQuery(query)

		database.close()
示例#7
0
    def delete(self):

        database = Database()
        database.open()

        query = "DELETE FROM appliances_network WHERE id = '@@id@@';"
        query = self.__replaceSqlQueryToken(query)
        database.executeWriteQuery(query)

        database.close()
示例#8
0
	def delete(self):
		print "\t\t\t\t\t\t\t\tTODO (" + self.__class__.__name__ + ":" + sys._getframe().f_code.co_name + ") : Consistency check not performed - class Building"

		database = Database()
		database.open()

		query = "DELETE FROM buildings WHERE building_name = '@@building_name@@';"
		query = self.__replaceSqlQueryToken(query)
		database.executeWriteQuery(query)

		database.close()
示例#9
0
	def delete(self):

		print "\t\t\t\t\t\t\t\tTODO (" + self.__class__.__name__ + ":" + sys._getframe().f_code.co_name + ") : Consistency check not performed - Trigger class"

		database = Database()
		database.open()

		query = "DELETE FROM notifications WHERE id = '@@id@@';"
		query = self.__replaceSqlQueryToken(query)
		database.executeWriteQuery(query)

		database.close()
示例#10
0
	def addUser(self, user):
		self.isClassInitialized()

		database = Database()
		database.open()

		query = "INSERT INTO users_rooms (room_name, building_name, user_uuid) VALUES ('@@room_name@@', '@@building_name@@', '@@user_uuid@@');"
		query = self.__replaceSqlQueryToken(query)
		query = query.replace("@@user_uuid@@", str(user.uuid))
		database.executeWriteQuery(query)

		database.close()
示例#11
0
	def delete(self):

		print "\t\t\t\t\t\t\t\tTODO (" + self.__class__.__name__ + ":" + sys._getframe().f_code.co_name + ") : Consistency check not performed into table users_rooms"

		database = Database()
		database.open()

		query = "DELETE FROM users WHERE uuid = '@@uuid@@'"
		query = self.__replaceSqlQueryToken(query)
		database.executeWriteQuery(query)

		database.close()
示例#12
0
	def deleteUser(self, user):

		self.isClassInitialized()

		database = Database()
		database.open()

		query = "DELETE FROM users_rooms WHERE room_name = '@@room_name@@' AND building_name = '@@building_name@@' AND user_uuid = '@@user_uuid@@';"
		query = self.__replaceSqlQueryToken(query)
		query = query.replace("@@user_uuid@@", str(user.uuid))
		database.executeWriteQuery(query)

		database.close()
示例#13
0
	def delete(self):

		if not (self.buildingName and self.roomName and self.ruleId): raise MissingInputDataError("Missing input to get a rule priority")
		print "\t\t\t\t\t\t\t\tTODO (" + self.__class__.__name__ + ":" + sys._getframe().f_code.co_name + ") : Consistency check not performed - RulePriority class"

		database = Database()
		database.open()

		query = "DELETE FROM rules_priority WHERE building_name = '@@building_name@@' AND room_name = '@@room_name@@' AND rule_id = '@@rule_id@@';"
		query = self.__replaceSqlQueryToken(query)
		database.executeWriteQuery(query)

		database.close()
示例#14
0
	def addTrigger(self, trigger):
		print "\t\t\t\t\t\t\t\tTODO (" + self.__class__.__name__ + ":" + sys._getframe().f_code.co_name + ") : non yet tested"

		self.isClassInitialized()

		database = Database()
		database.open()

		query = "INSERT INTO rooms_triggers (room_name, building_name, trigger_id) VALUES ('@@room_name@@', '@@building_name@@', '@@trigger_id@@');"
		query = self.__replaceSqlQueryToken(query)
		query = query.replace("@@trigger_id@@", str(trigger.id))
		database.executeWriteQuery(query)

		database.close()
示例#15
0
	def delete(self):

		print "\t\t\t\t\t\t\t\tTODO (" + self.__class__.__name__ + ":" + sys._getframe().f_code.co_name + ") : Consistency check not performed into table users_rooms"

		self.isClassInitialized()

		database = Database()
		database.open()

		query = "DELETE FROM rooms WHERE room_name = '@@room_name@@' AND building_name = '@@building_name@@';"
		query = self.__replaceSqlQueryToken(query)
		database.executeWriteQuery(query)

		database.close()
示例#16
0
	def deleteAction(self, action):
		print "\t\t\t\t\t\t\t\tTODO (" + self.__class__.__name__ + ":" + sys._getframe().f_code.co_name + ") : non yet tested"		

		self.isClassInitialized()

		database = Database()
		database.open()

		query = "DELETE FROM rooms_actions WHERE room_name = '@@room_name@@' AND building_name = '@@building_name@@' AND action_id = '@@action_id@@';"
		query = self.__replaceSqlQueryToken(query)
		query = query.replace("@@action_id@@", str(action.id))
		database.executeWriteQuery(query)

		database.close()
示例#17
0
	def store(self):
		database = Database()
		database.open()

		query = "SELECT COUNT(building_name) FROM buildings WHERE building_name = '@@building_name@@';"
		query = self.__replaceSqlQueryToken(query)
		queryResult = database.executeReadQuery(query)

		if int(queryResult[0][0]) > 0:
			query = "UPDATE buildings SET label = '@@label@@', description = '@@description@@' WHERE building_name = '@@building_name@@';"
		else:
			query = "INSERT INTO buildings (building_name, label, description) VALUES ('@@building_name@@', '@@label@@', '@@description@@');"	
	
		query = self.__replaceSqlQueryToken(query)
		database.executeWriteQuery(query)
		database.close()
示例#18
0
	def store(self):

		database = Database()
		database.open()

		query = "SELECT COUNT(id) FROM triggers WHERE id = '@@id@@';"
		query = self.__replaceSqlQueryToken(query)
		queryResult = database.executeReadQuery(query)

		if int(queryResult[0][0]) > 0:
			query = "UPDATE triggers SET category = '@@category@@', trigger_name = '@@trigger_name@@', rule_consequent = '@@rule_consequent@@', description = '@@description@@' WHERE id = '@@id@@';"
		else:
			query = "INSERT INTO triggers (category, trigger_name, rule_consequent, description) VALUES ('@@category@@', '@@trigger_name@@', '@@rule_consequent@@', '@@description@@');"	
	
		query = self.__replaceSqlQueryToken(query)
		database.executeWriteQuery(query)
		database.close()
示例#19
0
	def store(self):

		database = Database()
		database.open()

		query = "SELECT COUNT(id) FROM mturk WHERE id = '@@id@@';"
		query = self.__replaceSqlQueryToken(query)
		queryResult = database.executeReadQuery(query)

		if int(queryResult[0][0]) > 0:
			query = "UPDATE mturk SET day = '@@day@@', user_uuid = '@@user_uuid@@', token = '@@token@@' WHERE id = '@@id@@';"
		else:
			query = "INSERT INTO mturk (day, user_uuid, token) VALUES ('@@day@@', '@@user_uuid@@', '@@token@@');"	
	
		query = self.__replaceSqlQueryToken(query)
		database.executeWriteQuery(query)
		database.close()
示例#20
0
	def store(self):

		updateQuery = False

		database = Database()
		database.open()

		query = "SELECT COUNT(id) FROM rules WHERE id = '@@id@@';"
		query = self.__replaceSqlQueryToken(query)
		queryResult = database.executeReadQuery(query)

		if self.lastEditTimestamp == None:
			self.lastEditTimestamp =  datetime.datetime.now() 

		if self.creationTimestamp == None:
			self.creationTimestamp = datetime.datetime.now() 


		if int(queryResult[0][0]) > 0:
			
			self.lastEditTimestamp =  datetime.datetime.now() 

			query = """UPDATE rules SET 
					priority = '@@priority@@', category = '@@category@@', building_name = '@@building_name@@', group_id = '@@group_id@@', room_name = '@@room_name@@', 
					author_uuid = '@@author_uuid@@', antecedent = '@@antecedent@@', consequent = '@@consequent@@', enabled = '@@enabled@@', 
					deleted = '@@deleted@@', creation_timestamp = '@@creation_timestamp@@', last_edit_timestamp = '@@last_edit_timestamp@@'
					WHERE id = '@@id@@';"""
			updateQuery = True
			
		else:

			query = """INSERT INTO rules (priority, category, building_name, group_id, room_name, author_uuid, antecedent, 
					consequent, enabled, deleted, creation_timestamp, last_edit_timestamp) VALUES (
					'@@priority@@', '@@category@@', '@@building_name@@', '@@group_id@@', '@@room_name@@', '@@author_uuid@@', '@@antecedent@@', '@@consequent@@', '@@enabled@@', 
					'@@deleted@@', '@@creation_timestamp@@', '@@last_edit_timestamp@@');"""


		query = self.__replaceSqlQueryToken(query)
		database.executeWriteQuery(query)
		self.id = int(database.getLastInsertedId()) if not self.id else self.id
		database.close()

		if not self.groupId and not updateQuery:
			from app.backend.model.rulePriority import RulePriority
			rulePriority = RulePriority(buildingName = self.buildingName, roomName = self.roomName, ruleId = self.id, rulePriority = self.__priority)
			rulePriority.store()
示例#21
0
	def setActiveRule(self, buildingName, roomName, ruleId):



		if not (buildingName and roomName and ruleId):
			MissingInputDataError("Impossible to set an active rule without buildingName roomName or ruleId")

		query = "INSERT INTO `active_rules` (`building_name`, `room_name`, `rule_id`) VALUES ('@@building_name@@', '@@room_name@@', @@rule_id@@);"
		query = query.replace("@@building_name@@", buildingName)
		query = query.replace("@@room_name@@", roomName)
		query = query.replace("@@rule_id@@", str(ruleId))


		database = Database()
		database.open()
		database.executeWriteQuery(query)
		database.close()
示例#22
0
	def store(self):


		database = Database()
		database.open()

		query = "SELECT COUNT(id) FROM groups WHERE id = '@@id@@' AND building_name = '@@building_name@@';"
		query = self.__replaceSqlQueryToken(query)
		queryResult = database.executeReadQuery(query)

		if int(queryResult[0][0]) > 0:
			query = "UPDATE groups SET description = '@@description@@', cross_rooms_validation = '@@cross_rooms_validation@@', cross_rooms_validation_categories = '@@cross_rooms_validation_categories@@' WHERE id = '@@id@@' AND building_name = '@@building_name@@';"
		else:
			query = "INSERT INTO groups (building_name, description, cross_rooms_validation, cross_rooms_validation_categories) VALUES ('@@building_name@@', '@@description@@', '@@cross_rooms_validation@@', '@@cross_rooms_validation_categories@@');"	
	
		query = self.__replaceSqlQueryToken(query)
		database.executeWriteQuery(query)
		self.id = int(database.getLastInsertedId()) if not self.id else self.id
		database.close()
示例#23
0
	def store(self):

		database = Database()
		database.open()

		query = "SELECT COUNT(building_name) FROM rules_priority WHERE building_name = '@@building_name@@' AND room_name = '@@room_name@@' AND rule_id = '@@rule_id@@';"
		query = self.__replaceSqlQueryToken(query)
		queryResult = database.executeReadQuery(query)

		if int(queryResult[0][0]) > 0:
			query = "UPDATE rules_priority SET rule_priority = '@@rule_priority@@' WHERE building_name = '@@building_name@@' AND room_name = '@@room_name@@' AND rule_id = '@@rule_id@@';"
		else:
			query = "INSERT INTO rules_priority (building_name, room_name, rule_id, rule_priority) VALUES ('@@building_name@@', '@@room_name@@', '@@rule_id@@', '@@rule_priority@@');"	
	


		query = self.__replaceSqlQueryToken(query)
		database.executeWriteQuery(query)
		database.close()
示例#24
0
	def store(self):

		self.isClassInitialized()

		database = Database()
		database.open()

		query = "SELECT COUNT(room_name) FROM rooms WHERE room_name = '@@room_name@@' AND building_name = '@@building_name@@';"
		query = self.__replaceSqlQueryToken(query)
		queryResult = database.executeReadQuery(query)

		if int(queryResult[0][0]) > 0:
			query = "UPDATE rooms SET description = '@@description@@' WHERE room_name = '@@room_name@@' AND building_name = '@@building_name@@';"
		else:
			query = "INSERT INTO rooms (room_name, building_name, description) VALUES ('@@room_name@@', '@@building_name@@', '@@description@@');"	
	
		query = self.__replaceSqlQueryToken(query)
		database.executeWriteQuery(query)
		database.close()
示例#25
0
	def store(self):

		database = Database()
		database.open()

		query = "SELECT COUNT(s_key) FROM settings WHERE s_key = '@@s_key@@';"
		query = self.__replaceSqlQueryToken(query)
		queryResult = database.executeReadQuery(query)



		if int(queryResult[0][0]) > 0:
			query = "UPDATE settings SET s_value = '@@s_value@@' WHERE s_key = '@@s_key@@';"

		else:
			query = "INSERT INTO settings (s_key, s_value) VALUES ('@@s_key@@', '@@s_value@@');"	
	
		query = self.__replaceSqlQueryToken(query)
		database.executeWriteQuery(query)
		database.close()
示例#26
0
    def store(self):

        if not self.feedbackTimestamp:
            self.feedbackTimestamp = datetime.datetime.now()

        database = Database()
        database.open()

        query = "SELECT COUNT(id) FROM feedbacks WHERE id = '@@id@@';"
        query = self.__replaceSqlQueryToken(query)
        queryResult = database.executeReadQuery(query)

        if int(queryResult[0][0]) > 0:
            query = "UPDATE feedbacks SET author_uuid = '@@author_uuid@@', alternative_contact = '@@alternative_contact@@', score = '@@score@@', message = '@@message@@', feedback_timestamp = '@@feedback_timestamp@@' WHERE id = '@@id@@';"
        else:
            query = "INSERT INTO feedbacks (author_uuid, alternative_contact, score, message, feedback_timestamp) VALUES ('@@author_uuid@@', '@@alternative_contact@@', '@@score@@', '@@message@@', '@@feedback_timestamp@@');"

        query = self.__replaceSqlQueryToken(query)
        database.executeWriteQuery(query)
        self.id = int(database.getLastInsertedId()) if not self.id else self.id
        database.close()
示例#27
0
	def store(self):

		if not self.registrationTimestamp:
			self.registrationTimestamp = datetime.datetime.now() 

		database = Database()
		database.open()

		query = "SELECT COUNT(uuid) FROM users WHERE uuid = '@@uuid@@';"
		query = self.__replaceSqlQueryToken(query)
		queryResult = database.executeReadQuery(query)

		if int(queryResult[0][0]) > 0:
			query = "UPDATE users SET username = '******', email = '@@email@@', password = '******', person_name = '@@person_name@@', level = '@@level@@', registration_timestamp = '@@registration_timestamp@@' WHERE uuid = '@@uuid@@';"
		else:
			query = "INSERT INTO users (username, email, password, person_name, level, registration_timestamp) VALUES ('@@username@@','@@email@@', '@@password@@', '@@person_name@@', '@@level@@', '@@registration_timestamp@@');"
	
		query = self.__replaceSqlQueryToken(query)
		database.executeWriteQuery(query)
		self.uuid = int(database.getLastInsertedId()) if not self.uuid else self.uuid
		database.close()
示例#28
0
	def store(self):

		if not self.sendTimestamp:
			self.sendTimestamp = datetime.datetime.now() 

		if not self.messageRead:
			self.messageRead = 0

		database = Database()
		database.open()

		query = "SELECT COUNT(id) FROM notifications WHERE id = '@@id@@';"
		query = self.__replaceSqlQueryToken(query)
		queryResult = database.executeReadQuery(query)

		if int(queryResult[0][0]) > 0:
			query = "UPDATE notifications SET send_timestamp = '@@send_timestamp@@', message_subject = '@@message_subject@@', message_text = '@@message_text@@', recipient_uuid = '@@recipient_uuid@@', message_read = '@@message_read@@' WHERE id = '@@id@@';"
		else:
			query = "INSERT INTO notifications (send_timestamp, message_subject, message_text, recipient_uuid, message_read) VALUES ('@@send_timestamp@@', '@@message_subject@@', '@@message_text@@', '@@recipient_uuid@@', '@@message_read@@');"	
	
		query = self.__replaceSqlQueryToken(query)
		database.executeWriteQuery(query)
		database.close()
示例#29
0
	def resetActiveRules(self):

		database = Database()
		database.open()
		database.executeWriteQuery("TRUNCATE TABLE active_rules;")
		database.close()
示例#30
0
	def resetNetwork(self):

		database = Database()
		database.open()
		database.executeWriteQuery("TRUNCATE TABLE appliances_network;")
		database.close()