from trac.core import *
from trac.wiki.macros import WikiMacroBase
from StringIO import StringIO

__all__ = ['ColorMacro']

class ColorMacro(WikiMacroBase):
	"""
	Rename into Color.py before installing.
	
	Macro for colorizing short text , usage is
	
	{{{
	[[Color(color, text)]]
	}}}
	
	"""
	def render_macro(self, formatter, name, args):
		buf = StringIO()
		if args:
			args = tuple(args.split(","))
			if len(args) == 3:
				buf.write('<span style="background-color:%s;padding: 0.1ex 0.4em;color:%s;">%s</span>' % args)
			else:
				buf.write('<span style="background-color:%s;padding: 0.1ex 0.4em;">%s</span>' % args)
		else:
			buf.write("<p style='font-weight:bold; color:red;'>[[Color()]] macro requires a color spec and text: [[Color(color, text)]]</p>\n")
	
		return buf.getvalue()

