from genshi.builder import tag from trac.wiki.macros import WikiMacroBase class AstahMacro(WikiMacroBase): """ astah share Embed. Usage - How to embed an astah file: [[Astah(http://example.com/astahshare/embed/a/123)]] [[Astah(http://example.com/astahshare/embed/a/123,600,480)]] Usage - How to embed a diagram: [[Astah(http://example.com/astahshare/embed/d/456)]] [[Astah(http://example.com/astahshare/embed/d/456,800,600)]] """ revision = "$Rev$" url = "$URL$" def expand_macro(self, formatter, name, args): arguments = [x.strip() for x in args.split(',')] src = arguments[0] if src.find('/astahshare/embed/') == -1: return args width = len(arguments) > 1 and arguments[1] or 480 height = len(arguments) > 2 and arguments[2] or 320 return tag.iframe(width=width,height=height,frameborder='0',src=src)