| """ |
| Provides the default implementation of :class:`ArrowFactory <arrow.factory.ArrowFactory>` |
| methods for use as a module API. |
| |
| """ |
|
|
| from datetime import date, datetime |
| from datetime import tzinfo as dt_tzinfo |
| from time import struct_time |
| from typing import Any, List, Optional, Tuple, Type, Union, overload |
|
|
| from arrow.arrow import TZ_EXPR, Arrow |
| from arrow.constants import DEFAULT_LOCALE |
| from arrow.factory import ArrowFactory |
|
|
| |
| _factory = ArrowFactory() |
|
|
| |
| |
|
|
|
|
| @overload |
| def get( |
| *, |
| locale: str = DEFAULT_LOCALE, |
| tzinfo: Optional[TZ_EXPR] = None, |
| normalize_whitespace: bool = False, |
| ) -> Arrow: |
| ... |
|
|
|
|
| @overload |
| def get( |
| *args: int, |
| locale: str = DEFAULT_LOCALE, |
| tzinfo: Optional[TZ_EXPR] = None, |
| normalize_whitespace: bool = False, |
| ) -> Arrow: |
| ... |
|
|
|
|
| @overload |
| def get( |
| __obj: Union[ |
| Arrow, |
| datetime, |
| date, |
| struct_time, |
| dt_tzinfo, |
| int, |
| float, |
| str, |
| Tuple[int, int, int], |
| ], |
| *, |
| locale: str = DEFAULT_LOCALE, |
| tzinfo: Optional[TZ_EXPR] = None, |
| normalize_whitespace: bool = False, |
| ) -> Arrow: |
| ... |
|
|
|
|
| @overload |
| def get( |
| __arg1: Union[datetime, date], |
| __arg2: TZ_EXPR, |
| *, |
| locale: str = DEFAULT_LOCALE, |
| tzinfo: Optional[TZ_EXPR] = None, |
| normalize_whitespace: bool = False, |
| ) -> Arrow: |
| ... |
|
|
|
|
| @overload |
| def get( |
| __arg1: str, |
| __arg2: Union[str, List[str]], |
| *, |
| locale: str = DEFAULT_LOCALE, |
| tzinfo: Optional[TZ_EXPR] = None, |
| normalize_whitespace: bool = False, |
| ) -> Arrow: |
| ... |
|
|
|
|
| def get(*args: Any, **kwargs: Any) -> Arrow: |
| """Calls the default :class:`ArrowFactory <arrow.factory.ArrowFactory>` ``get`` method.""" |
|
|
| return _factory.get(*args, **kwargs) |
|
|
|
|
| get.__doc__ = _factory.get.__doc__ |
|
|
|
|
| def utcnow() -> Arrow: |
| """Calls the default :class:`ArrowFactory <arrow.factory.ArrowFactory>` ``utcnow`` method.""" |
|
|
| return _factory.utcnow() |
|
|
|
|
| utcnow.__doc__ = _factory.utcnow.__doc__ |
|
|
|
|
| def now(tz: Optional[TZ_EXPR] = None) -> Arrow: |
| """Calls the default :class:`ArrowFactory <arrow.factory.ArrowFactory>` ``now`` method.""" |
|
|
| return _factory.now(tz) |
|
|
|
|
| now.__doc__ = _factory.now.__doc__ |
|
|
|
|
| def factory(type: Type[Arrow]) -> ArrowFactory: |
| """Returns an :class:`.ArrowFactory` for the specified :class:`Arrow <arrow.arrow.Arrow>` |
| or derived type. |
| |
| :param type: the type, :class:`Arrow <arrow.arrow.Arrow>` or derived. |
| |
| """ |
|
|
| return ArrowFactory(type) |
|
|
|
|
| __all__ = ["get", "utcnow", "now", "factory"] |
|
|