Bump tempora from 5.0.2 to 5.1.0 (#1902)

* Bump tempora from 5.0.2 to 5.1.0

Bumps [tempora](https://github.com/jaraco/tempora) from 5.0.2 to 5.1.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/v5.0.2...v5.1.0)

---
updated-dependencies:
- dependency-name: tempora
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update tempora==5.1.0

Signed-off-by: dependabot[bot] <support@github.com>
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:
dependabot[bot] 2022-12-21 15:58:39 -08:00 committed by GitHub
parent d736fab432
commit 0a5edebea3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 28 additions and 16 deletions

0
lib/more_itertools/more.py Normal file → Executable file
View file

View file

@ -6,6 +6,10 @@ import re
import numbers import numbers
import functools import functools
import contextlib import contextlib
from numbers import Number
from typing import Union, Tuple, Iterable
from typing import cast
from jaraco.functools import once from jaraco.functools import once
@ -33,7 +37,7 @@ hours_per_month = hours_per_day * days_per_year / 12
@once @once
def _needs_year_help(): def _needs_year_help() -> bool:
""" """
Some versions of Python render %Y with only three characters :( Some versions of Python render %Y with only three characters :(
https://bugs.python.org/issue39103 https://bugs.python.org/issue39103
@ -41,14 +45,19 @@ def _needs_year_help():
return len(datetime.date(900, 1, 1).strftime('%Y')) != 4 return len(datetime.date(900, 1, 1).strftime('%Y')) != 4
def ensure_datetime(ob): AnyDatetime = Union[datetime.datetime, datetime.date, datetime.time]
StructDatetime = Union[Tuple[int, ...], time.struct_time]
def ensure_datetime(ob: AnyDatetime) -> datetime.datetime:
""" """
Given a datetime or date or time object from the ``datetime`` Given a datetime or date or time object from the ``datetime``
module, always return a datetime using default values. module, always return a datetime using default values.
""" """
if isinstance(ob, datetime.datetime): if isinstance(ob, datetime.datetime):
return ob return ob
date = time = ob date = cast(datetime.date, ob)
time = cast(datetime.time, ob)
if isinstance(ob, datetime.date): if isinstance(ob, datetime.date):
time = datetime.time() time = datetime.time()
if isinstance(ob, datetime.time): if isinstance(ob, datetime.time):
@ -56,7 +65,13 @@ def ensure_datetime(ob):
return datetime.datetime.combine(date, time) return datetime.datetime.combine(date, time)
def strftime(fmt, t): def infer_datetime(ob: Union[AnyDatetime, StructDatetime]) -> datetime.datetime:
if isinstance(ob, (time.struct_time, tuple)):
ob = datetime.datetime(*ob[:6]) # type: ignore
return ensure_datetime(ob)
def strftime(fmt: str, t: Union[AnyDatetime, tuple, time.struct_time]) -> str:
""" """
Portable strftime. Portable strftime.
@ -115,15 +130,11 @@ def strftime(fmt, t):
>>> strftime('%Y', datetime.time()) >>> strftime('%Y', datetime.time())
'1900' '1900'
""" """
if isinstance(t, (time.struct_time, tuple)): t = infer_datetime(t)
t = datetime.datetime(*t[:6])
t = ensure_datetime(t)
subs = ( subs = (
('%s', '%03d' % (t.microsecond // 1000)), ('%s', '%03d' % (t.microsecond // 1000)),
('%µ', '%03d' % (t.microsecond % 1000)), ('%µ', '%03d' % (t.microsecond % 1000)),
) ) + (('%Y', '%04d' % t.year),) * _needs_year_help()
if _needs_year_help(): # pragma: nocover
subs += (('%Y', '%04d' % t.year),)
def doSub(s, sub): def doSub(s, sub):
return s.replace(*sub) return s.replace(*sub)
@ -324,10 +335,10 @@ def calculate_prorated_values():
""" """
rate = input("Enter the rate (3/hour, 50/month)> ") rate = input("Enter the rate (3/hour, 50/month)> ")
for period, value in _prorated_values(rate): for period, value in _prorated_values(rate):
print("per {period}: {value}".format(**locals())) print(f"per {period}: {value}")
def _prorated_values(rate): def _prorated_values(rate: str) -> Iterable[Tuple[str, Number]]:
""" """
Given a rate (a string in units per unit time), and return that same Given a rate (a string in units per unit time), and return that same
rate for various time periods. rate for various time periods.
@ -341,7 +352,8 @@ def _prorated_values(rate):
year: 175316.333 year: 175316.333
""" """
res = re.match(r'(?P<value>[\d.]+)/(?P<period>\w+)$', rate).groupdict() match = re.match(r'(?P<value>[\d.]+)/(?P<period>\w+)$', rate)
res = cast(re.Match, match).groupdict()
value = float(res['value']) value = float(res['value'])
value_per_second = value / get_period_seconds(res['period']) value_per_second = value / get_period_seconds(res['period'])
for period in ('minute', 'hour', 'day', 'month', 'year'): for period in ('minute', 'hour', 'day', 'month', 'year'):

View file

@ -130,7 +130,7 @@ class PeriodicCommand(DelayedCommand):
raise ValueError( raise ValueError(
"A PeriodicCommand must have a positive, " "non-zero delay." "A PeriodicCommand must have a positive, " "non-zero delay."
) )
super(PeriodicCommand, self).__setattr__(key, value) super().__setattr__(key, value)
class PeriodicCommandFixedDelay(PeriodicCommand): class PeriodicCommandFixedDelay(PeriodicCommand):

View file

@ -115,7 +115,7 @@ class Timer(Stopwatch):
def __init__(self, target=float('Inf')): def __init__(self, target=float('Inf')):
self.target = self._accept(target) self.target = self._accept(target)
super(Timer, self).__init__() super().__init__()
@staticmethod @staticmethod
def _accept(target): def _accept(target):

View file

@ -41,7 +41,7 @@ rumps==0.4.0; platform_system == "Darwin"
simplejson==3.18.0 simplejson==3.18.0
six==1.16.0 six==1.16.0
soupsieve==2.3.2.post1 soupsieve==2.3.2.post1
tempora==5.0.2 tempora==5.1.0
tokenize-rt==5.0.0 tokenize-rt==5.0.0
tzdata==2022.6 tzdata==2022.6
tzlocal==4.2 tzlocal==4.2