class colors:
	debugMode = False
	colors = {
		"reset"     : "\x1b[0m",
		"bold"      : "\x1b[01m",
		"teal"      : "\x1b[36;06m",
		"turquoise" : "\x1b[36;01m",
		"fucsia"    : "\x1b[35;01m",
		"purple"    : "\x1b[35;06m",
		"blue"      : "\x1b[34;01m",
		"darkblue"  : "\x1b[34;06m",
		"green"     : "\x1b[32;01m",
		"darkgreen" : "\x1b[32;06m",
		"yellow"    : "\x1b[33;01m",
		"brown"     : "\x1b[33;06m",
		"red"       : "\x1b[31;01m",
		"darkred"   : "\x1b[31;06m"
	}
	
	#====================== SET DEBUG =======================#
	def set_debug(self,debug):
		self.debugMode = debug
		
	#====================== COLOR TEXT ======================#
	def color(self, color, text):
		return self.colors[color] + text + self.colors['reset']
		
	#================= PREDEFINED MACROS ====================#
	def debug(self,string):
		if self.debugMode:
			print self.color('blue', '[DEBUG] ') + string

	def info(self,string):
		print self.color('bold', '[INFO] ') + string
	
	def warning(self,string):
		print self.color('red', '[WARNING] ') + string
	
	def error(self,string):
		print self.color('darkred', '[ERROR] ') + string

