summaryrefslogtreecommitdiffhomepage
path: root/libs/apprise/apprise.pyi
blob: 5a34c9c654a8b814971381a85d9e529c0137e45a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
from typing import Any, Dict, List, Iterable, Iterator, Optional

from . import (AppriseAsset, AppriseAttachment, AppriseConfig, ConfigBase,
               NotifyBase, NotifyFormat, NotifyType)
from .common import ContentLocation

_Server = Union[str, ConfigBase, NotifyBase, AppriseConfig]
_Servers = Union[_Server, Dict[Any, _Server], Iterable[_Server]]
# Can't define this recursively as mypy doesn't support recursive types:
# https://github.com/python/mypy/issues/731
_Tag = Union[str, Iterable[Union[str, Iterable[str]]]]

class Apprise:
    def __init__(
        self,
        servers: _Servers = ...,
        asset: Optional[AppriseAsset] = ...,
        location: Optional[ContentLocation] = ...,
        debug: bool = ...
    ) -> None: ...
    @staticmethod
    def instantiate(
        url: Union[str, Dict[str, NotifyBase]],
        asset: Optional[AppriseAsset] = ...,
        tag: Optional[_Tag] = ...,
        suppress_exceptions: bool = ...
    ) -> NotifyBase: ...
    def add(
        self,
        servers: _Servers = ...,
        asset: Optional[AppriseAsset] = ...,
        tag: Optional[_Tag] = ...
    ) -> bool: ...
    def clear(self) -> None: ...
    def find(self, tag: str = ...) -> Iterator[Apprise]: ...
    def notify(
        self,
        body: str,
        title: str = ...,
        notify_type: NotifyType = ...,
        body_format: NotifyFormat = ...,
        tag: _Tag = ...,
        attach: Optional[AppriseAttachment] = ...,
        interpret_escapes: Optional[bool] = ...
    ) -> bool: ...
    async def async_notify(
        self,
        body: str,
        title: str = ...,
        notify_type: NotifyType = ...,
        body_format: NotifyFormat = ...,
        tag: _Tag = ...,
        attach: Optional[AppriseAttachment] = ...,
        interpret_escapes: Optional[bool] = ...
    ) -> bool: ...
    def details(self, lang: Optional[str] = ...) -> Dict[str, Any]: ...
    def urls(self, privacy: bool = ...) -> Iterable[str]: ...
    def pop(self, index: int) -> ConfigBase: ...
    def __getitem__(self, index: int) -> ConfigBase: ...
    def __bool__(self) -> bool: ...
    def __iter__(self) -> Iterator[ConfigBase]: ...
    def __len__(self) -> int: ...