from time import sleep


class TaskError(Exception):
    pass


def countdown(n):
    while n > 0:
        n -= 1


def multiply(x, y):
    return x * y


def count_letters(tup):
    total = 0
    for word in tup:
        total += len(word)
    return total


def count_letters2(obj):
    return count_letters(obj.get_words())


def word_multiply(x, word=""):
    return len(word) * x


def count_forever():
    while True:
        sleep(0.5)


def get_task_name(task):
    return task.name


def get_user_id(user):
    return user.id


def hello():
    return "hello"


def result(obj):
    print(f"RESULT HOOK {obj.name} : {obj.result()}")


def raise_exception():
    raise TaskError("this is an exception!")
