Compare commits
4 commits
b895b0e829
...
5bedc44837
Author | SHA1 | Date | |
---|---|---|---|
5bedc44837 | |||
f3929438bd | |||
1ab9e0cf24 | |||
0e0a7ab5a9 |
4 changed files with 29 additions and 7 deletions
|
@ -6,16 +6,26 @@ Caches events using `timed_alru_cache`.
|
|||
|
||||
import functools
|
||||
import logging
|
||||
from datetime import datetime
|
||||
from datetime import UTC, datetime
|
||||
from typing import Annotated, Self
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, StringConstraints
|
||||
from pydantic import AfterValidator, BaseModel, ConfigDict, StringConstraints
|
||||
from vobject.base import Component
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
type StrippedStr = Annotated[str, StringConstraints(strip_whitespace=True)]
|
||||
|
||||
|
||||
def make_utc(v: datetime) -> datetime:
|
||||
if v.tzinfo is None:
|
||||
return v.replace(tzinfo=UTC)
|
||||
|
||||
return v
|
||||
|
||||
|
||||
type UTCDateTime = Annotated[datetime, AfterValidator(make_utc)]
|
||||
|
||||
|
||||
@functools.total_ordering
|
||||
class CalEvent(BaseModel):
|
||||
"""
|
||||
|
@ -31,8 +41,8 @@ class CalEvent(BaseModel):
|
|||
|
||||
summary: StrippedStr = ""
|
||||
description: StrippedStr = ""
|
||||
dtstart: datetime = datetime.now()
|
||||
dtend: datetime = datetime.now()
|
||||
dtstart: UTCDateTime = datetime.now(UTC)
|
||||
dtend: UTCDateTime = datetime.now(UTC)
|
||||
|
||||
def __lt__(self, other: Self) -> bool:
|
||||
"""
|
||||
|
@ -64,6 +74,9 @@ class CalEvent(BaseModel):
|
|||
except KeyError:
|
||||
pass
|
||||
|
||||
print(event)
|
||||
print(data)
|
||||
|
||||
if "dtend" not in data:
|
||||
data["dtend"] = data["dtstart"]
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import logging
|
||||
from datetime import datetime, timedelta
|
||||
from datetime import UTC, datetime, timedelta
|
||||
from typing import cast
|
||||
|
||||
from asyncify import asyncify
|
||||
|
@ -69,7 +69,7 @@ class CalDAV:
|
|||
_logger.info(f"downloading {calendar_name!r} ...")
|
||||
|
||||
dt_start = datetime.combine(
|
||||
datetime.now().date(),
|
||||
datetime.now(UTC).date(),
|
||||
datetime.min.time(),
|
||||
)
|
||||
dt_end = dt_start + timedelta(days=cfg.calendar.future_days)
|
||||
|
|
|
@ -7,6 +7,8 @@ script_dir="$( dirname "${script}" )"
|
|||
&& git_status="developing"
|
||||
git rev-parse --abbrev-ref HEAD | grep -E 'release|hotfix/' >/dev/null \
|
||||
&& git_status="releasing"
|
||||
git rev-parse --abbrev-ref HEAD | grep -E 'master' >/dev/null \
|
||||
&& git_status="released"
|
||||
|
||||
|
||||
if [ "${git_status}" = "developing" ]; then
|
||||
|
@ -23,6 +25,13 @@ elif [ "${git_status}" = "releasing" ]; then
|
|||
git rev-parse --abbrev-ref HEAD \
|
||||
| cut -d '/' -f 2
|
||||
)"
|
||||
elif [ "${git_status}" = "released" ]; then
|
||||
echo "Status: Released"
|
||||
# => version from current tag
|
||||
git_version="$( \
|
||||
git describe --tags \
|
||||
| sed -E 's/^v[^0-9]*((0|[1-9][0-9]*)[0-9\.]*[0-9])$/\1/'
|
||||
)"
|
||||
else
|
||||
echo "ERROR: Invalid git branch"
|
||||
echo "ERROR: Chores cannot be run on '$( git rev-parse --abbrev-ref HEAD )'!"
|
||||
|
|
|
@ -8,7 +8,7 @@ script_dir="$( dirname "${script}" )"
|
|||
|
||||
# vars defined in `check_version` script
|
||||
# shellcheck disable=SC2154
|
||||
if [ "${git_status}" = "releasing" ]; then
|
||||
if [ "${git_status}" = "releasing" ] || [ "${git_status}" = "released" ]; then
|
||||
# shellcheck disable=SC2154
|
||||
image_tag="${git_version}"
|
||||
else
|
||||
|
|
Loading…
Reference in a new issue