def camel_to_snake()

in tools/utils.py [0:0]


def camel_to_snake(name):
    snake_str = ""
    for i in range(len(name)):
        if name[i] == "_":
            snake_str += name[i]
        elif name[i].isupper():
            if i - 1 >= 0 and name[i - 1].isupper():
                snake_str += name[i].lower()
            elif i + 1 < len(name) and name[i + 1].isupper():
                snake_str += name[i].lower()
            else:
                if snake_str and snake_str[-1] != "_":
                    snake_str += "_"
                snake_str += name[i].lower()
        else:
            snake_str += name[i]
    return snake_str