from turtle import *
from datetime import datetime
from canvasvg import canvasvg   #use "pip install canvasvg" or "python -m pip install canvasvg"

def saveImg(name):
    nameSav = datetime.now().strftime("%Y%m%d_%H%M%S") + "_" + name + ".svg"
    #ts = t.getscreen().getcanvas()
    ts = getscreen().getcanvas()
    canvasvg.saveall(nameSav, ts)

speed(0)

def make_mark():
    for i in range(4):
        fd(10)
        bk(10)
        lt(90)

def kreis(x, y, breite, farbe):
    pu()
    goto(x, y - 57) # 57 folgt aus radius 360
    pd()
    pensize(breite)
    color(farbe)
    for i in range(360):
        fd(1)
        lt(1)

abschnittsgrenzen = [0,45,90,135,180,225,270,315,360]

def kreis_abschnitt(x, y, breite, farbe, abschnitt):  # abschnitt 1-8
    """
    abschnittsgrenzen[0] = 0
    abschnittsgrenzen[1] = 45
    abschnittsgrenzen[2] = 90
    das heisst wenn abschnitt = 1:
        start = abschnittsgrenzen[1-1] = abschnittsgrenzen[0] = 0
        ende = abschnittsgrenzen[1] = 45
    """
    start = abschnittsgrenzen[abschnitt-1]
    ende = abschnittsgrenzen[abschnitt]
    pu()
    goto(x, y - 57) # 57 folgt aus radius 360
    pensize(breite)
    color(farbe)
    for i in range(360):
        if i >= start:
            pd()
        fd(1)
        lt(1)
        if i >= ende:
            break
    setheading(0)

hideturtle()
#bgcolor("#e5ccfc")
#bgcolor("#451c5e")
bgcolor("lightgrey")
tracer(0, 0)
#make_mark()
kreis(-136, 0, 10, "#0085c7")   # blau
kreis(0, 0, 10, "#464646")      # schwarz
kreis(136, 0, 10, "#df0024")    # rot
kreis(-68, -65, 10, "#f4c300")  # gelb
kreis(68, -65, 10, "#009f3d")   # grün

kreis_abschnitt(-136, 0, 10, "#0085c7", 2)   # blau
kreis_abschnitt(-136, 0, 10, "#0085c7", 3)   # blau

kreis_abschnitt(-68, -65, 10, "#f4c300", 4)  # gelb

kreis_abschnitt(0, 0, 10, "#464646", 8)      # schwarz
kreis_abschnitt(0, 0, 10, "#464646", 2)      # schwarz

kreis_abschnitt(136, 0, 10, "#df0024", 8)    # rot

saveImg("olymp_ringe")

"""
kreis_abschnitt(0, 0, 10, "red", 1)
kreis_abschnitt(0, 0, 10, "orange", 2)
kreis_abschnitt(0, 0, 10, "green", 3)
kreis_abschnitt(0, 0, 10, "black", 4)
kreis_abschnitt(0, 0, 10, "pink", 5)
kreis_abschnitt(0, 0, 10, "brown", 6)
kreis_abschnitt(0, 0, 10, "orange", 7)
kreis_abschnitt(0, 0, 10, "purple", 8)
"""
update()

done()