id	summary	reporter	owner	description	type	status	priority	component	severity	resolution	keywords	cc	release
2801	CSV Support for 0.11	sagacis@gmail.com	rjollos	I changed the file slightly to make it work as a plugin for 0.11, as seen below.  \r\n{{{\r\n#!python\r\nfrom trac.wiki.macros import WikiMacroBase\r\nfrom trac.util import escape\r\nimport csv\r\n\r\nclass CsvMacro(WikiMacroBase):\r\n\r\n    def get_macros(self):\r\n        yield 'CSV'\r\n\r\n    def get_macro_description(self, name):\r\n       return inspect.getdoc(CsvMacro)\r\n\r\n    def expand_macro(self, formatter, name, txt):\r\n        sniffer = csv.Sniffer()\r\n        txt = txt.encode('ascii', 'replace')\r\n        reader = csv.reader(StringIO(txt), sniffer.sniff(txt))\r\n        formatter.out.write('<table class="wiki">\\n')\r\n        for row in reader:\r\n            formatter.out.write('<tr>')\r\n            for col in row:\r\n                formatter.out.write('<td>%s</td>' % escape(col))\r\n            formatter.out.write('</tr>\\n')\r\n        formatter.out.write('</table>\\n')\r\n}}}	enhancement	closed	normal	CsvMacro	normal	fixed		g1itch	0.11
