Compare commits

...

4 commits

4 changed files with 29 additions and 7 deletions
api/ovdashboard_api/core
deploy/chores

View file

@ -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"]

View file

@ -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)

View file

@ -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 )'!"

View file

@ -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