massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-pyright / node_modules / pyright / dist / typeshed-fallback / stubs / dateparser / dateparser / date.pyi
1 import collections
2 import sys
3 from _typeshed import Self as Self
4 from datetime import datetime
5 from typing import ClassVar, Iterable, Iterator, Type, overload
6
7 from dateparser import _Settings
8 from dateparser.conf import Settings
9 from dateparser.languages.loader import LocaleDataLoader
10 from dateparser.languages.locale import Locale
11
12 if sys.version_info >= (3, 8):
13     from re import Pattern
14     from typing import Literal
15 else:
16     from typing import Pattern
17     from typing_extensions import Literal
18
19 _Period = Literal["time", "day", "week", "month", "year"]
20 APOSTROPHE_LOOK_ALIKE_CHARS: list[str]
21 RE_NBSP: Pattern[str]
22 RE_SPACES: Pattern[str]
23 RE_TRIM_SPACES: Pattern[str]
24 RE_TRIM_COLONS: Pattern[str]
25 RE_SANITIZE_SKIP: Pattern[str]
26 RE_SANITIZE_RUSSIAN: Pattern[str]
27 RE_SANITIZE_PERIOD: Pattern[str]
28 RE_SANITIZE_ON: Pattern[str]
29 RE_SANITIZE_APOSTROPHE: Pattern[str]
30 RE_SEARCH_TIMESTAMP: Pattern[str]
31
32 def sanitize_spaces(date_string: str) -> str: ...
33 def date_range(begin, end, **kwargs) -> None: ...
34 def get_intersecting_periods(low, high, period: str = ...) -> None: ...
35 def sanitize_date(date_string: str) -> str: ...
36 def get_date_from_timestamp(date_string: str, settings: Settings) -> datetime | None: ...
37 def parse_with_formats(date_string: str, date_formats: Iterable[str], settings: Settings) -> DateData: ...
38
39 class _DateLocaleParser:
40     locale: Locale
41     date_string: str
42     date_formats: list[str] | tuple[str] | set[str] | None
43     def __init__(
44         self,
45         locale: Locale,
46         date_string: str,
47         date_formats: list[str] | tuple[str] | set[str] | None,
48         settings: Settings | None = ...,
49     ) -> None: ...
50     @classmethod
51     def parse(
52         cls,
53         locale: Locale,
54         date_string: str,
55         date_formats: list[str] | tuple[str] | set[str] | None = ...,
56         settings: Settings | None = ...,
57     ) -> DateData: ...
58     def _parse(self) -> DateData | None: ...
59     def _try_timestamp(self) -> DateData: ...
60     def _try_freshness_parser(self) -> DateData | None: ...
61     def _try_absolute_parser(self) -> DateData | None: ...
62     def _try_nospaces_parser(self) -> DateData | None: ...
63     def _try_parser(self, parse_method) -> DateData | None: ...
64     def _try_given_formats(self) -> DateData | None: ...
65     def _get_translated_date(self) -> str: ...
66     def _get_translated_date_with_formatting(self) -> str: ...
67     def _is_valid_date_data(self, date_data: DateData) -> bool: ...
68
69 class DateData:
70     date_obj: datetime | None
71     locale: str | None
72     period: _Period | None
73     def __init__(self, *, date_obj: datetime | None = ..., period: _Period | None = ..., locale: str | None = ...) -> None: ...
74     @overload
75     def __getitem__(self, k: Literal["date_obj"]) -> datetime | None: ...
76     @overload
77     def __getitem__(self, k: Literal["locale"]) -> str | None: ...
78     @overload
79     def __getitem__(self, k: Literal["period"]) -> _Period | None: ...
80     @overload
81     def __setitem__(self, k: Literal["date_obj"], v: datetime) -> None: ...
82     @overload
83     def __setitem__(self, k: Literal["locale"], v: str) -> None: ...
84     @overload
85     def __setitem__(self, k: Literal["period"], v: _Period) -> None: ...
86
87 class DateDataParser:
88     _settings: Settings
89     locale_loader: ClassVar[LocaleDataLoader | None]
90     try_previous_locales: bool
91     use_given_order: bool
92     languages: list[str] | None
93     locales: list[str] | tuple[str] | set[str] | None
94     region: str
95     previous_locales: collections.OrderedDict[Locale, None]
96     def __init__(
97         self,
98         languages: list[str] | tuple[str] | set[str] | None = ...,
99         locales: list[str] | tuple[str] | set[str] | None = ...,
100         region: str | None = ...,
101         try_previous_locales: bool = ...,
102         use_given_order: bool = ...,
103         settings: _Settings | None = ...,
104     ) -> None: ...
105     def get_date_data(self, date_string: str, date_formats: list[str] | tuple[str] | set[str] | None = ...) -> DateData: ...
106     def get_date_tuple(self, date_string: str, date_formats: list[str] | tuple[str] | set[str] | None = ...): ...
107     def _get_applicable_locales(self, date_string: str) -> Iterator[Locale]: ...
108     def _is_applicable_locale(self, locale: Locale, date_string: str) -> bool: ...
109     @classmethod
110     def _get_locale_loader(cls: Type[DateDataParser]) -> LocaleDataLoader: ...