mirror of https://github.com/caronc/apprise
Added limited type stubs for mypy (#402)
parent
3cfbdea101
commit
93c7aef433
|
@ -0,0 +1,63 @@
|
||||||
|
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 __nonzero__(self) -> bool: ...
|
||||||
|
def __iter__(self) -> Iterator[ConfigBase]: ...
|
||||||
|
def __len__(self) -> int: ...
|
|
@ -0,0 +1,34 @@
|
||||||
|
from typing import Dict, Optional
|
||||||
|
|
||||||
|
from . import NotifyFormat, NotifyType
|
||||||
|
|
||||||
|
class AppriseAsset:
|
||||||
|
app_id: str
|
||||||
|
app_desc: str
|
||||||
|
app_url: str
|
||||||
|
html_notify_map: Dict[NotifyType, str]
|
||||||
|
default_html_color: str
|
||||||
|
default_extension: str
|
||||||
|
theme: Optional[str]
|
||||||
|
image_url_mask: str
|
||||||
|
image_url_logo: str
|
||||||
|
image_path_mask: Optional[str]
|
||||||
|
body_format: Optional[NotifyFormat]
|
||||||
|
async_mode: bool
|
||||||
|
interpret_escapes: bool
|
||||||
|
def __init__(
|
||||||
|
self,
|
||||||
|
app_id: str = ...,
|
||||||
|
app_desc: str = ...,
|
||||||
|
app_url: str = ...,
|
||||||
|
html_notify_map: Dict[NotifyType, str] = ...,
|
||||||
|
default_html_color: str = ...,
|
||||||
|
default_extension: str = ...,
|
||||||
|
theme: Optional[str] = ...,
|
||||||
|
image_url_mask: str = ...,
|
||||||
|
image_url_logo: str = ...,
|
||||||
|
image_path_mask: Optional[str] = ...,
|
||||||
|
body_format: Optional[NotifyFormat] = ...,
|
||||||
|
async_mode: bool = ...,
|
||||||
|
interpret_escapes: bool = ...
|
||||||
|
) -> None: ...
|
|
@ -0,0 +1,38 @@
|
||||||
|
from typing import Any, Iterable, Optional, Union
|
||||||
|
|
||||||
|
from . import AppriseAsset, ContentLocation
|
||||||
|
from .attachment import AttachBase
|
||||||
|
|
||||||
|
_Attachment = Union[str, AttachBase]
|
||||||
|
_Attachments = Iterable[_Attachment]
|
||||||
|
|
||||||
|
class AppriseAttachment:
|
||||||
|
def __init__(
|
||||||
|
self,
|
||||||
|
paths: Optional[_Attachments] = ...,
|
||||||
|
asset: Optional[AppriseAttachment] = ...,
|
||||||
|
cache: bool = ...,
|
||||||
|
location: Optional[ContentLocation] = ...,
|
||||||
|
**kwargs: Any
|
||||||
|
) -> None: ...
|
||||||
|
def add(
|
||||||
|
self,
|
||||||
|
attachments: _Attachments,
|
||||||
|
asset: Optional[AppriseAttachment] = ...,
|
||||||
|
cache: Optional[bool] = ...
|
||||||
|
) -> bool: ...
|
||||||
|
@staticmethod
|
||||||
|
def instantiate(
|
||||||
|
url: str,
|
||||||
|
asset: Optional[AppriseAsset] = ...,
|
||||||
|
cache: Optional[bool] = ...,
|
||||||
|
suppress_exceptions: bool = ...
|
||||||
|
) -> NotifyBase: ...
|
||||||
|
def clear(self) -> None: ...
|
||||||
|
def size(self) -> int: ...
|
||||||
|
def pop(self, index: int = ...) -> AttachBase: ...
|
||||||
|
def __getitem__(self, index: int) -> AttachBase: ...
|
||||||
|
def __bool__(self) -> bool: ...
|
||||||
|
def __nonzero__(self) -> bool: ...
|
||||||
|
def __iter__(self) -> Iterator[AttachBase]: ...
|
||||||
|
def __len__(self) -> int: ...
|
|
@ -0,0 +1,49 @@
|
||||||
|
from typing import Any, Iterable, Iterator, List, Optional, Union
|
||||||
|
|
||||||
|
from . import AppriseAsset, NotifyBase
|
||||||
|
from .config import ConfigBase
|
||||||
|
|
||||||
|
_Configs = Union[ConfigBase, str, Iterable[str]]
|
||||||
|
|
||||||
|
class AppriseConfig:
|
||||||
|
def __init__(
|
||||||
|
self,
|
||||||
|
paths: Optional[_Configs] = ...,
|
||||||
|
asset: Optional[AppriseAsset] = ...,
|
||||||
|
cache: bool = ...,
|
||||||
|
recursion: int = ...,
|
||||||
|
insecure_includes: bool = ...,
|
||||||
|
**kwargs: Any
|
||||||
|
) -> None: ...
|
||||||
|
def add(
|
||||||
|
self,
|
||||||
|
configs: _Configs,
|
||||||
|
asset: Optional[AppriseAsset] = ...,
|
||||||
|
cache: bool = ...,
|
||||||
|
recursion: Optional[bool] = ...,
|
||||||
|
insecure_includes: Optional[bool] = ...
|
||||||
|
) -> bool: ...
|
||||||
|
def add_config(
|
||||||
|
self,
|
||||||
|
content: str,
|
||||||
|
asset: Optional[AppriseAsset] = ...,
|
||||||
|
tag: Optional[str] = ...,
|
||||||
|
format: Optional[str] = ...,
|
||||||
|
recursion: Optional[int] = ...,
|
||||||
|
insecure_includes: Optional[bool] = ...
|
||||||
|
) -> bool: ...
|
||||||
|
def servers(self, tag: str = ..., *args: Any, **kwargs: Any) -> List[ConfigBase]: ...
|
||||||
|
def instantiate(
|
||||||
|
url: str,
|
||||||
|
asset: Optional[AppriseAsset] = ...,
|
||||||
|
tag: Optional[str] = ...,
|
||||||
|
cache: Optional[bool] = ...
|
||||||
|
) -> NotifyBase: ...
|
||||||
|
def clear(self) -> None: ...
|
||||||
|
def server_pop(self, index: int) -> ConfigBase: ...
|
||||||
|
def pop(self, index: int = ...) -> ConfigBase: ...
|
||||||
|
def __getitem__(self, index: int) -> ConfigBase: ...
|
||||||
|
def __bool__(self) -> bool: ...
|
||||||
|
def __nonzero__(self) -> bool: ...
|
||||||
|
def __iter__(self) -> Iterator[ConfigBase]: ...
|
||||||
|
def __len__(self) -> int: ...
|
|
@ -0,0 +1,16 @@
|
||||||
|
from logging import logger
|
||||||
|
from typing import Any, Iterable, Set, Optional
|
||||||
|
|
||||||
|
class URLBase:
|
||||||
|
service_name: Optional[str]
|
||||||
|
protocol: Optional[str]
|
||||||
|
secure_protocol: Optional[str]
|
||||||
|
request_rate_per_sec: int
|
||||||
|
socket_connect_timeout: float
|
||||||
|
socket_read_timeout: float
|
||||||
|
tags: Set[str]
|
||||||
|
verify_certificate: bool
|
||||||
|
logger: logger
|
||||||
|
def url(self, privacy: bool = ..., *args: Any, **kwargs: Any) -> str: ...
|
||||||
|
def __contains__(self, tags: Iterable[str]) -> bool: ...
|
||||||
|
def __str__(self) -> str: ...
|
|
@ -0,0 +1,37 @@
|
||||||
|
from typing import Any, Dict, Optional
|
||||||
|
|
||||||
|
from .. import ContentLocation
|
||||||
|
|
||||||
|
class AttachBase:
|
||||||
|
max_detect_buffer_size: int
|
||||||
|
unknown_mimetype: str
|
||||||
|
unknown_filename: str
|
||||||
|
unknown_filename_extension: str
|
||||||
|
strict: bool
|
||||||
|
max_file_size: int
|
||||||
|
location: ContentLocation
|
||||||
|
template_args: Dict[str, Any]
|
||||||
|
def __init__(
|
||||||
|
self,
|
||||||
|
name: Optional[str] = ...,
|
||||||
|
mimetype: Optional[str] = ...,
|
||||||
|
cache: Optional[bool] = ...,
|
||||||
|
**kwargs: Any
|
||||||
|
) -> None: ...
|
||||||
|
@property
|
||||||
|
def path(self) -> Optional[str]: ...
|
||||||
|
@property
|
||||||
|
def name(self) -> Optional[str]: ...
|
||||||
|
@property
|
||||||
|
def mimetype(self) -> Optional[str]: ...
|
||||||
|
def exists(self) -> bool: ...
|
||||||
|
def invalidate(self) -> None: ...
|
||||||
|
def download(self) -> bool: ...
|
||||||
|
@staticmethod
|
||||||
|
def parse_url(
|
||||||
|
url: str,
|
||||||
|
verify_host: bool = ...
|
||||||
|
) -> Dict[str, Any]: ...
|
||||||
|
def __len__(self) -> int: ...
|
||||||
|
def __bool__(self) -> bool: ...
|
||||||
|
def __nonzero__(self) -> bool: ...
|
|
@ -0,0 +1,15 @@
|
||||||
|
class NotifyType:
|
||||||
|
INFO: NotifyType
|
||||||
|
SUCCESS: NotifyType
|
||||||
|
WARNING: NotifyType
|
||||||
|
FAILURE: NotifyType
|
||||||
|
|
||||||
|
class NotifyFormat:
|
||||||
|
TEXT: NotifyFormat
|
||||||
|
HTML: NotifyFormat
|
||||||
|
MARKDOWN: NotifyFormat
|
||||||
|
|
||||||
|
class ContentLocation:
|
||||||
|
LOCAL: ContentLocation
|
||||||
|
HOSTED: ContentLocation
|
||||||
|
INACCESSIBLE: ContentLocation
|
|
@ -0,0 +1,3 @@
|
||||||
|
from .. import URLBase
|
||||||
|
|
||||||
|
class ConfigBase(URLBase): ...
|
|
@ -0,0 +1 @@
|
||||||
|
class NotifyBase: ...
|
Loading…
Reference in New Issue