<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_input(msg, default='', valid=None, boolean=False, ispass=False, color=None):
 	"""Gets input from the user, and returns the answer. 	@param msg: message to send to user 	@param default: default value if nothing entered 	@param valid: valid input values (default == empty list == anything allowed) 	@param boolean: whether return value should be boolean 	@param ispass: True if this is a password (ie whether to not echo input) 	@param color: Color code to colorize with (eg 32 = green) 	"""

	# switch off log tracing when in get_input
	log_trace_when_idle_original_value = shutit_global.shutit_global_object.log_trace_when_idle
	shutit_global.shutit_global_object.log_trace_when_idle = False
	if boolean and valid is None:
		valid = ('yes','y','Y','1','true','no','n','N','0','false')
	if color:
		answer = util_raw_input(prompt=colorise(color,msg),ispass=ispass)
	else:
		answer = util_raw_input(msg,ispass=ispass)
	if boolean and answer in ('', None) and default != '':
		# Revert log trace value to original
		shutit_global.shutit_global_object.log_trace_when_idle = log_trace_when_idle_original_value
		return default
	if valid is not None:
		while answer not in valid:
			shutit_global.shutit_global_object.shutit_print('Answer must be one of: ' + str(valid),transient=True)
			if color:
				answer = util_raw_input(prompt=colorise(color,msg),ispass=ispass)
			else:
				answer = util_raw_input(msg,ispass=ispass)
	if boolean:
		if answer.lower() in ('yes','y','1','true','t'):
			# Revert log trace value to original
			shutit_global.shutit_global_object.log_trace_when_idle = log_trace_when_idle_original_value
			return True
		elif answer.lower() in ('no','n','0','false','f'):
			# Revert log trace value to original
			shutit_global.shutit_global_object.log_trace_when_idle = log_trace_when_idle_original_value
			return False
	# Revert log trace value to original
	shutit_global.shutit_global_object.log_trace_when_idle = log_trace_when_idle_original_value
	return answer or default