Exemplo n.º 1
0
    def __init__(self, newVerbose):
        self.verbose = newVerbose
        self.rHandler = ResponseHandler(self.verbose)
        self.decoder = UserDecoder(self.verbose)

        # Initialize and begin logging
        Logger.ensureLogDir()
        Logger.writeLog("===== Begin Conversation =====\n\n")
Exemplo n.º 2
0
def authenticate():
    if not request.json:
        return ResponseHandler(errorMessage="Object not submitted").toJSON()
    if requestJsonPropInvalid(request, 'username'):
        return ResponseHandler(
            errorMessage="Username cannot be empty").toJSON()
    if requestJsonPropInvalid(request, 'password'):
        return ResponseHandler(
            errorMessage="Password cannot be empty").toJSON()

    authUser = {
        'username': request.json['username'],
        'roles': ['Admin']
        # 'class': request.json.get('class', False)
    }

    return ResponseHandler(authUser).toJSON(), 200
Exemplo n.º 3
0
class Jarmis:
    verbose = False

    def __init__(self, newVerbose):
        self.verbose = newVerbose
        self.rHandler = ResponseHandler(self.verbose)
        self.decoder = UserDecoder(self.verbose)

        # Initialize and begin logging
        Logger.ensureLogDir()
        Logger.writeLog("===== Begin Conversation =====\n\n")

    def getTextResponse(self, input):
        # Send user text input to APIAI for processing,
        # then send the response to the response handler class
        self.rHandler.process(self.decoder.handleTextInput(input))

    def getVoiceResponse(self):
        # Begin voice recognition and pass the APIAI response
        # into the response handler class.
        self.rHandler.process(self.decoder.startVoiceRecognition())
Exemplo n.º 4
0
def save_student():
    if not request.json:
        return ResponseHandler(errorMessage="No data submitted").toJSON(), 200
    if not 'firstname' in request.json or not request.json['firstname']:
        return ResponseHandler(
            errorMessage="Firstname cannot be empty").toJSON(), 200
    if not 'lastname' in request.json or not request.json['lastname']:
        return ResponseHandler(
            errorMessage="Lastname cannot be empty").toJSON(), 200
    if not 'class' in request.json or not request.json['class']:
        return ResponseHandler(
            errorMessage="Class cannot be empty").toJSON(), 200
    student = {
        'id': students[-1]['id'] + 1,
        'firstName': request.json['firstName'],
        'lastName': request.json('lastName'),
        'class': request.json('class'),
        # 'class': request.json.get('class', False)
    }
    students.append(student)
    return ResponseHandler(student).toJSON()
Exemplo n.º 5
0
def main():
	messages = []
	responseHandler = ResponseHandler()
	responseHandler.start()
	time.sleep(1)
	while True:
		### Enter arguements
		args = input("\nEnter a command: ").split(" ")

		### Create new bot function
		if args[0] == "enable":
			length = len(args)
			if length > 1:
				if args[1] == "automsg":
					if length >= 5 and args[2].isdigit() and args[3].isdigit():
						msg = ""
						for i in range(4, length):
							if i != 4:
								msg += " "
							msg += args[i]
						message = AutoMessage(args[2], args[3], msg)
						message.start()
						messages.append(message)
					else:
						print("Valid format: enable automsg [hour] [minute] [message]")
				elif args[1] == "monitor":
					if length >= 4:
						msg = ""
						for i in range(3, length):
							if i != 3:
								msg += " "
							msg += args[i]
						monitor = MessageMonitor(args[2], msg)
						responseHandler.monitors.append(monitor)
					else:
						print("Valid format: enable monitor [expression] [message]")
				else:
					print("Invalid enable option. Valid options are: automsg / monitor")
			else:
				print("Must enter something to enable. Valid options are: automsg / monitor")

		### Disable existing bot function
		elif args[0] == "disable":
			length = len(args)
			if length > 1:
				if args[1] == "automsg":
					if length >= 3:
						msg = ""
						for i in range(2, length):
							if i != 2:
								msg += " "
							msg += args[i]
						flag = False
						for message in messages:
							if message.message == msg:
								print("Found matching message.")
								flag = True
								message.stop()
								messages.remove(message)
								break
						if not flag:
							print("Message does not currently exist.")
					else:
						print("Valid format: disable automsg [message]")
				elif args[1] == "monitor":
					if length >= 3:
						msg = ""
						for i in range(2, length):
							if i != 2:
								msg += " "
							msg += args[i]
						flag = False
						for monitor in responseHandler.monitors:
							if monitor.message == msg:
								print("Found matching monitor.")
								flag = True
								responseHandler.monitors.remove(monitor)
								print("Disabling AutoMessage instance for '" + monitor.message + "'...")
								break
						if not flag:
							print("Monitor does not currently exist.")
					else:
						print("Valid format: disable monitor [message]")
				else:
					print("Invalid disable option. Valid options are: automsg / monitor")
			else:
				print("Must enter something to disable. Valid options are: automsg / monitor")

		### Manual print
		elif args[0] == "print":
			length = len(args)
			if length > 1:
				message = ""
				for arg in args[1:]:
					message += arg
				print("Executing print of '" + message + "'...")
				r = requests.post("https://api.groupme.com/v3/bots/post", data={"bot_id": "2dcdbc43412c876c1c4cf8f8b7", "text": message})
				print(r.status_code, r.reason)
			else:
				print("You have to enter a message to print!")

		### Exit program
		elif args[0] == "exit":
			for message in messages:
				message.stop()
			responseHandler.stop()
			print("Turning off TruuCrewBot...")
			exit()

		### Invalid command
		else:
			print("Invalid command. Please try again...")
Exemplo n.º 6
0
def get_student(task_id):
    student = list(filter(lambda t: t['id'] == task_id, students))
    if len(student) == 0:
        return ResponseHandler(errorMessage="Record not found").toJSON()
    return ResponseHandler(payload=student[0]).toJSON()
Exemplo n.º 7
0
def get_students():
    return ResponseHandler(students).toJSON()