aboutsummaryrefslogtreecommitdiffstats
path: root/slack/util.py
blob: 8738748f765e14e399575cdbc836e81229bd224a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from __future__ import annotations

from typing import Callable, Dict, Union

import weechat

from slack.shared import shared

weechat_callback_return_type = Union[int, str, Dict[str, str], None]


def get_callback_name(callback: Callable[..., weechat_callback_return_type]) -> str:
    callback_id = f"{callback.__name__}-{id(callback)}"
    shared.weechat_callbacks[callback_id] = callback
    return callback_id


def with_color(color: str, string: str):
    return f"{weechat.color(color)}{string}{weechat.color('reset')}"