mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-08-14 02:26:58 -07:00
Bump tempora from 4.1.2 to 5.0.0 (#1609)
* Bump tempora from 4.1.2 to 5.0.0 Bumps [tempora](https://github.com/jaraco/tempora) from 4.1.2 to 5.0.0. - [Release notes](https://github.com/jaraco/tempora/releases) - [Changelog](https://github.com/jaraco/tempora/blob/main/CHANGES.rst) - [Commits](https://github.com/jaraco/tempora/compare/v4.1.2...v5.0.0) --- updated-dependencies: - dependency-name: tempora dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Update tempora==5.0.0 Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com> [skip ci]
This commit is contained in:
parent
c03edf6893
commit
2829041dc3
2 changed files with 22 additions and 100 deletions
|
@ -5,86 +5,20 @@ import time
|
|||
import re
|
||||
import numbers
|
||||
import functools
|
||||
import warnings
|
||||
import contextlib
|
||||
|
||||
from jaraco.functools import once
|
||||
|
||||
|
||||
class Parser:
|
||||
"""
|
||||
*deprecated*
|
||||
|
||||
Datetime parser: parses a date-time string using multiple possible
|
||||
formats.
|
||||
|
||||
>>> p = Parser(('%H%M', '%H:%M'))
|
||||
>>> tuple(p.parse('1319'))
|
||||
(1900, 1, 1, 13, 19, 0, 0, 1, -1)
|
||||
>>> dateParser = Parser(('%m/%d/%Y', '%Y-%m-%d', '%d-%b-%Y'))
|
||||
>>> tuple(dateParser.parse('2003-12-20'))
|
||||
(2003, 12, 20, 0, 0, 0, 5, 354, -1)
|
||||
>>> tuple(dateParser.parse('16-Dec-1994'))
|
||||
(1994, 12, 16, 0, 0, 0, 4, 350, -1)
|
||||
>>> tuple(dateParser.parse('5/19/2003'))
|
||||
(2003, 5, 19, 0, 0, 0, 0, 139, -1)
|
||||
>>> dtParser = Parser(('%Y-%m-%d %H:%M:%S', '%a %b %d %H:%M:%S %Y'))
|
||||
>>> tuple(dtParser.parse('2003-12-20 19:13:26'))
|
||||
(2003, 12, 20, 19, 13, 26, 5, 354, -1)
|
||||
>>> tuple(dtParser.parse('Tue Jan 20 16:19:33 2004'))
|
||||
(2004, 1, 20, 16, 19, 33, 1, 20, -1)
|
||||
|
||||
Be forewarned, a ValueError will be raised if more than one format
|
||||
matches:
|
||||
|
||||
>>> Parser(('%H%M', '%H%M%S')).parse('732')
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
ValueError: More than one format string matched target 732.
|
||||
|
||||
>>> Parser(('%H',)).parse('22:21')
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
ValueError: No format strings matched the target 22:21.
|
||||
"""
|
||||
|
||||
formats = ('%m/%d/%Y', '%m/%d/%y', '%Y-%m-%d', '%d-%b-%Y', '%d-%b-%y')
|
||||
"some common default formats"
|
||||
|
||||
def __init__(self, formats=None):
|
||||
warnings.warn("Use dateutil.parser", DeprecationWarning)
|
||||
if formats:
|
||||
self.formats = formats
|
||||
|
||||
def parse(self, target):
|
||||
self.target = target
|
||||
results = tuple(filter(None, map(self._parse, self.formats)))
|
||||
del self.target
|
||||
if not results:
|
||||
tmpl = "No format strings matched the target {target}."
|
||||
raise ValueError(tmpl.format(**locals()))
|
||||
if not len(results) == 1:
|
||||
tmpl = "More than one format string matched target {target}."
|
||||
raise ValueError(tmpl.format(**locals()))
|
||||
return results[0]
|
||||
|
||||
def _parse(self, format):
|
||||
try:
|
||||
result = time.strptime(self.target, format)
|
||||
except ValueError:
|
||||
result = False
|
||||
return result
|
||||
|
||||
|
||||
# some useful constants
|
||||
osc_per_year = 290091329207984000
|
||||
osc_per_year = 290_091_329_207_984_000
|
||||
"""
|
||||
mean vernal equinox year expressed in oscillations of atomic cesium at the
|
||||
year 2000 (see http://webexhibits.org/calendars/timeline.html for more info).
|
||||
"""
|
||||
osc_per_second = 9192631770
|
||||
osc_per_second = 9_192_631_770
|
||||
seconds_per_second = 1
|
||||
seconds_per_year = 31556940
|
||||
seconds_per_year = 31_556_940
|
||||
seconds_per_minute = 60
|
||||
minutes_per_hour = 60
|
||||
hours_per_day = 24
|
||||
|
@ -376,21 +310,6 @@ def get_date_format_string(period):
|
|||
return ''.join(format_pieces)
|
||||
|
||||
|
||||
def divide_timedelta_float(td, divisor):
|
||||
"""
|
||||
Divide a timedelta by a float value
|
||||
|
||||
>>> one_day = datetime.timedelta(days=1)
|
||||
>>> half_day = datetime.timedelta(days=.5)
|
||||
>>> divide_timedelta_float(one_day, 2.0) == half_day
|
||||
True
|
||||
>>> divide_timedelta_float(one_day, 2) == half_day
|
||||
True
|
||||
"""
|
||||
warnings.warn("Use native division", DeprecationWarning)
|
||||
return td / divisor
|
||||
|
||||
|
||||
def calculate_prorated_values():
|
||||
"""
|
||||
>>> monkeypatch = getfixture('monkeypatch')
|
||||
|
@ -461,6 +380,11 @@ def parse_timedelta(str):
|
|||
>>> diff.seconds
|
||||
20940
|
||||
|
||||
>>> parse_timedelta('foo')
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
ValueError: Unexpected 'foo'
|
||||
|
||||
>>> parse_timedelta('14 seconds foo')
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
|
@ -508,6 +432,13 @@ def parse_timedelta(str):
|
|||
|
||||
>>> parse_timedelta('.002 µs, 499 ns')
|
||||
datetime.timedelta(microseconds=1)
|
||||
|
||||
Expect ValueError for other invalid inputs.
|
||||
|
||||
>>> parse_timedelta('13 feet')
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
ValueError: Invalid unit feets
|
||||
"""
|
||||
return _parse_timedelta_nanos(str).resolve()
|
||||
|
||||
|
@ -534,7 +465,7 @@ def _check_unmatched(matches, text):
|
|||
check_unmatched(text[pos : match.start()])
|
||||
yield match
|
||||
pos = match.end()
|
||||
check_unmatched(text[match.end() :])
|
||||
check_unmatched(text[pos:])
|
||||
|
||||
|
||||
_unit_lookup = {
|
||||
|
@ -618,7 +549,11 @@ class _Saved_NS:
|
|||
if unit == 'nanoseconds':
|
||||
return _Saved_NS(nanoseconds=value)
|
||||
|
||||
res = _Saved_NS(td=datetime.timedelta(**{unit: value}))
|
||||
try:
|
||||
raw_td = datetime.timedelta(**{unit: value})
|
||||
except TypeError:
|
||||
raise ValueError(f"Invalid unit {unit}")
|
||||
res = _Saved_NS(td=raw_td)
|
||||
with contextlib.suppress(KeyError):
|
||||
res.nanoseconds = int(value * cls.multiplier[unit]) % 1000
|
||||
return res
|
||||
|
@ -641,19 +576,6 @@ class _Saved_NS:
|
|||
return f'_Saved_NS(td={self.td!r}, nanoseconds={self.nanoseconds!r})'
|
||||
|
||||
|
||||
def divide_timedelta(td1, td2):
|
||||
"""
|
||||
Get the ratio of two timedeltas
|
||||
|
||||
>>> one_day = datetime.timedelta(days=1)
|
||||
>>> one_hour = datetime.timedelta(hours=1)
|
||||
>>> divide_timedelta(one_hour, one_day) == 1 / 24
|
||||
True
|
||||
"""
|
||||
warnings.warn("Use native division", DeprecationWarning)
|
||||
return td1 / td2
|
||||
|
||||
|
||||
def date_range(start=None, stop=None, step=None):
|
||||
"""
|
||||
Much like the built-in function range, but works with dates
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue