def change_batch(argv):
    '''Takes the system arguments as parameter. argv[2] is id of the student to
    change, argv[3] is the batch to change the student to.

    Keyword arguments:
    argv -- An array of command line arguments passed to the program.
    '''
    student_found = False
    batch_found = False
    for student in Student.select():
        if str(student.id) == str(argv[2]):
            student_found = True
    for batch in Batch.select():
        if str(batch.id) == str(argv[3]):
            batch_found = True
    if student_found is False:
        print "Student not found"
        return
    if batch_found is False:
        print "Batch not found"
        return

    for student in Student.select():
        if str(student.id) == str(argv[2]):
            if str(student.batch.id) == str(argv[3]):
                student_found = True
                print student,
                print "already in " + str(student.batch)
            else:
                '''If the student is not already in the batch, then reassign.'''
                tmp_id = student.id
                tmp_age = student.age
                tmp_first_name = student.first_name
                tmp_last_name = student.last_name

                d = Student.delete().where(Student.id == tmp_id)
                d.execute()
                new = Student.create(id=tmp_id,
                                     batch=argv[3],
                                     age=tmp_age,
                                     last_name=tmp_last_name,
                                     first_name=tmp_first_name)

                print student,
                print "has been move to",
                print new.batch
			exercise = Exercise.insert(student=sys.argv[3], subject=sys.argv[4],note=sys.argv[5]).execute()
			print "New exercise: " + str(Exercise.select().where(Exercise.id==exercise).get())
	elif sys.argv[1] == 'delete':
		if sys.argv[2] == 'school':
			if School.select().where(School.id==sys.argv[3]).count() == 0:
				print "Nothing to delete"
			else:
				print_school = "Delete: " + str(School.select().where(School.id==sys.argv[3]).get())	
				school = School.delete().where(School.id == sys.argv[3]).execute()
				print print_school
		elif sys.argv[2] == 'student':
			if Student.select().where(Student.id==sys.argv[3]).count() == 0:
				print "Nothing to delete"
			else:
				print_student = "Delete: " + str(Student.select().where(Student.id==sys.argv[3]).get())	
				student = Student.delete().where(Student.id == sys.argv[3]).execute()
				print print_student
		elif sys.argv[2] == 'batch':
			if Batch.select().where(Batch.id==sys.argv[3]).count() == 0:
				print "Nothing to delete"
			else:
				print_batch = "Delete: " + str(Batch.select().where(Batch.id==sys.argv[3]).get())	
				batch = Batch.delete().where(Batch.id == sys.argv[3]).execute()
				print print_batch
		elif sys.argv[2] == 'exercise':
			if Exercise.select().where(Exercise.id==sys.argv[3]).count() == 0:
				print "Nothing to delete"
			else:
				print_exercise = "Delete: " + str(Exercise.select().where(Exercise.id==sys.argv[3]).get())	
				exercise = Exercise.delete().where(Exercise.id == sys.argv[3]).execute()
				print print_exercise