def draw(self, name, dname, draw_branches=True):
        """
        Writes the current graph as a PNG file

        :param str name: filename (without .png)
        :param str dname: directory of the output png
        :param draw_branches:
        :return:
        """
        from pydot import Dot, Edge
        import os

        g = Dot()
        g.set_node_defaults(color='lightgray',
                            style='filled',
                            shape='box',
                            fontname='Courier',
                            fontsize='10')
        for node in sorted(self.nodes, key=lambda x: x.num):
            if draw_branches and node.type.is_cond:
                g.add_edge(Edge(str(node), str(node.true), color='green'))
                g.add_edge(Edge(str(node), str(node.false), color='red'))
            else:
                for suc in self.sucs(node):
                    g.add_edge(Edge(str(node), str(suc), color='blue'))
            for except_node in self.catch_edges.get(node, []):
                g.add_edge(Edge(str(node),
                                str(except_node),
                                color='black',
                                style='dashed'))

        g.write(os.path.join(dname, '%s.png' % name), format='png')
def draw ( self , name , dname , draw_branches = True ) : from pydot import Dot , Edge import os g = Dot ( ) g . set_node_defaults ( color = 'lightgray' , style = 'filled' , shape = 'box' , fontname = 'Courier' , fontsize = '10' ) for node in sorted ( self . nodes , key = lambda x : x . num ) : if draw_branches and node . type . is_cond : g . add_edge ( Edge ( str ( node ) , str ( node . true ) , color = 'green' ) ) g . add_edge ( Edge ( str ( node ) , str ( node . false ) , color = 'red' ) ) else : for suc in self . sucs ( node ) : g . add_edge ( Edge ( str ( node ) , str ( suc ) , color = 'blue' ) ) for except_node in self . catch_edges . get ( node , [ ] ) : g . add_edge ( Edge ( str ( node ) , str ( except_node ) , color = 'black' , style = 'dashed' ) ) g . write ( os . path . join ( dname , '%s.png' % name ) , format = 'png' )
Writes the current graph as a PNG file

        :param str name: filename (without .png)
        :param str dname: directory of the output png
        :param draw_branches:
        :return: