'Draws the node as a circle with the given radius, fill, stroke and strokewidth.
Draws the node centrality as a shadow effect when weighted=True.
Draws the node text label.
Override this method in a subclass for custom drawing.'

def draw(self, weighted=False):

    if ((weighted is not False) and (self.centrality > (((weighted == True) and (-1)) or weighted))):
        w = (self.centrality * 35)
        ellipse(self.x, self.y, ((self.radius * 2) + w), ((self.radius * 2) + w), fill=(0, 0, 0, 0.2), stroke=None)
    ellipse(self.x, self.y, (self.radius * 2), (self.radius * 2), fill=self.fill, stroke=self.stroke, strokewidth=self.strokewidth)
    if self.text:
        self.text.draw((self.x + self.radius), (self.y + self.radius))
