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