def renderToFile(self, content, imagePath): """ content - текст, описывающий диаграмму imagePath - полный путь до создаваемого файла """ from blockdiag.parser import parse_string from blockdiag.drawer import DiagramDraw from blockdiag.builder import ScreenNodeBuilder from blockdiag.utils.fontmap import FontMap font = os.path.join(os.path.dirname(os.path.abspath(__file__)), u"fonts", self._fontDefault) fontmap = FontMap() fontmap.set_default_font(font) text = u"blockdiag {{ {content} }}".format(content=content) tree = parse_string(text) diagram = ScreenNodeBuilder.build(tree) draw = DiagramDraw("png", diagram, imagePath, fontmap=fontmap, antialias=True) draw.draw() draw.save()
def node2diagram(self, node): try: tree = parser.parse_string(node['code']) except: code = 'blockdiag { %s }' % node['code'] tree = parser.parse_string(code) node['code'] = code # replace if suceeded return ScreenNodeBuilder.build(tree)
def _build(self, tree): return ScreenNodeBuilder.build(tree)