from trac.core import *
from trac.wiki.macros import WikiMacroBase
from trac.wiki.formatter import wiki_to_html

class IncludeSourceMacro(WikiMacroBase):
	def render_macro(self, req, name, args):
		if args:
			args = args.split(',')
		repos = self.env.get_repository()
		try:
			src = repos.get_node(args[0]).get_content().read()
		finally:
			repos.close()
		return wiki_to_html(unicode(src, 'utf-8'), self.env, req)

