def __init__(self, name = '', obj_dict = None, **attrs):
    
        #
        # Nodes will take attributes of all other types because the defaults
        # for any GraphViz object are dealt with as if they were Node definitions
        #
        
        if obj_dict is not None:
        
            self.obj_dict = obj_dict
            
        else:
        
            self.obj_dict = dict()
            
            # Copy the attributes
            #
            self.obj_dict[ 'attributes' ] = dict( attrs )
            self.obj_dict[ 'type' ] = 'node'
            self.obj_dict[ 'parent_graph' ] = None
            self.obj_dict[ 'parent_node_list' ] = None
            self.obj_dict[ 'sequence' ] = None
    
            # Remove the compass point
            #
            port = None
            if isinstance(name, basestring) and not name.startswith('"'):
                idx = name.find(':')
                if idx > 0 and idx+1 < len(name):
                    name, port = name[:idx], name[idx:]

            if isinstance(name, (long, int)):
                name = str(name)
            
            self.obj_dict['name'] = quote_if_necessary( name )
            self.obj_dict['port'] = port
        
        self.create_attribute_methods(NODE_ATTRIBUTES)
dataset/ETHPy150Open erocarrera/pydot/pydot.py/Node.__init__/original