none-shall-parse 0.5.0__tar.gz → 0.6.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {none_shall_parse-0.5.0 → none_shall_parse-0.6.0}/PKG-INFO +1 -1
- {none_shall_parse-0.5.0 → none_shall_parse-0.6.0}/pyproject.toml +1 -1
- {none_shall_parse-0.5.0 → none_shall_parse-0.6.0}/src/none_shall_parse/dates.py +15 -10
- {none_shall_parse-0.5.0 → none_shall_parse-0.6.0}/README.md +0 -0
- {none_shall_parse-0.5.0 → none_shall_parse-0.6.0}/src/none_shall_parse/__init__.py +0 -0
- {none_shall_parse-0.5.0 → none_shall_parse-0.6.0}/src/none_shall_parse/imeis.py +0 -0
- {none_shall_parse-0.5.0 → none_shall_parse-0.6.0}/src/none_shall_parse/lists.py +0 -0
- {none_shall_parse-0.5.0 → none_shall_parse-0.6.0}/src/none_shall_parse/parse.py +0 -0
- {none_shall_parse-0.5.0 → none_shall_parse-0.6.0}/src/none_shall_parse/strings.py +0 -0
- {none_shall_parse-0.5.0 → none_shall_parse-0.6.0}/src/none_shall_parse/types.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: none-shall-parse
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.6.0
|
|
4
4
|
Summary: Trinity Shared Python utilities.
|
|
5
5
|
Author: Andries Niemandt, Jan Badenhorst
|
|
6
6
|
Author-email: Andries Niemandt <andries.niemandt@trintel.co.za>, Jan Badenhorst <jan@trintel.co.za>
|
|
@@ -3,7 +3,7 @@ import logging
|
|
|
3
3
|
import time
|
|
4
4
|
from datetime import date, datetime
|
|
5
5
|
from typing import Callable, Any, Tuple, Sequence, List
|
|
6
|
-
from .types import DateTimeLike
|
|
6
|
+
from .types import DateTimeLike, DateTimeOrDateLike
|
|
7
7
|
|
|
8
8
|
import pendulum
|
|
9
9
|
from pendulum import DateTime, Date
|
|
@@ -417,7 +417,7 @@ def month_span(mso: int) -> Callable[[DateTimeLike], Tuple[DateTime, DateTime]]:
|
|
|
417
417
|
return find_dates
|
|
418
418
|
|
|
419
419
|
|
|
420
|
-
def arb_span(dates: Sequence[str |
|
|
420
|
+
def arb_span(dates: Sequence[str | DateTimeOrDateLike], naive: bool = False) -> Callable[
|
|
421
421
|
[Any], Tuple[DateTime, DateTime]]:
|
|
422
422
|
"""
|
|
423
423
|
Parses two given dates and returns a callable function that provides the date range
|
|
@@ -452,15 +452,20 @@ def arb_span(dates: Sequence[str | DateTimeLike], naive: bool = False) -> Callab
|
|
|
452
452
|
|
|
453
453
|
parsed_dates.append(parsed.start_of('day'))
|
|
454
454
|
else:
|
|
455
|
-
# It's already a datetime
|
|
456
|
-
if date
|
|
457
|
-
#
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
455
|
+
# It's already a datetime-like object
|
|
456
|
+
if isinstance(date, datetime):
|
|
457
|
+
# datetime objects have tzinfo, hour, minute, etc.
|
|
458
|
+
if date.tzinfo is None:
|
|
459
|
+
# Input is naive, keep it naive using pendulum.naive()
|
|
460
|
+
parsed = pendulum.naive(date.year, date.month, date.day,
|
|
461
|
+
date.hour, date.minute, date.second,
|
|
462
|
+
date.microsecond)
|
|
463
|
+
else:
|
|
464
|
+
# Input is timezone-aware, preserve it
|
|
465
|
+
parsed = pendulum.instance(date)
|
|
461
466
|
else:
|
|
462
|
-
#
|
|
463
|
-
parsed = pendulum.
|
|
467
|
+
# date objects (no time component, no tzinfo) - treat as naive
|
|
468
|
+
parsed = pendulum.naive(date.year, date.month, date.day)
|
|
464
469
|
|
|
465
470
|
parsed_dates.append(parsed.start_of('day'))
|
|
466
471
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|