def ellipse2pathd(ellipse):
cx = ellipse.get('<STR_LIT>', <NUM_LIT:0>)<EOL>cy = ellipse.get('<STR_LIT>', <NUM_LIT:0>)<EOL>rx = ellipse.get('<STR_LIT>', None)<EOL>ry = ellipse.get('<STR_LIT>', None)<EOL>r = ellipse.get('<STR_LIT:r>', None)<EOL>if r is not None:<EOL><INDENT>rx = ry = float(r)<EOL><DEDENT>else:<EOL><INDENT>rx = float(rx)<EOL>ry = float(ry)<EOL><DEDENT>cx = float(cx)<EOL>cy = float(cy)<EOL>d = '<STR_LIT>'<EOL>d += '<STR_LIT:M>' + str(cx - rx) + '<STR_LIT:U+002C>' + str(cy)<EOL>d += '<STR_LIT:a>' + str(rx) + '<STR_LIT:U+002C>' + str(ry) + '<STR_LIT>' + str(<NUM_LIT:2> * rx) + '<STR_LIT>'<EOL>d += '<STR_LIT:a>' + str(rx) + '<STR_LIT:U+002C>' + str(ry) + '<STR_LIT>' + str(-<NUM_LIT:2> * rx) + '<STR_LIT>'<EOL>return d<EOL>
converts the parameters from an ellipse or a circle to a string for a 
    Path object d-attribute