refactor(playout): fix deprecation warnings (#2847)

### Description
Fix pydantic deprecation warnings after upgrade to v2.
This commit is contained in:
Jonas L 2023-12-28 14:19:29 +01:00 committed by GitHub
parent 3f396895e5
commit 9d6061e42e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 13 deletions

View File

@ -31,7 +31,7 @@ def generate_entrypoint(
paths["log_filepath"] = log_filepath.resolve() paths["log_filepath"] = log_filepath.resolve()
return templates.get_template("entrypoint.liq.j2").render( return templates.get_template("entrypoint.liq.j2").render(
config=config.copy(), config=config.model_copy(),
preferences=preferences, preferences=preferences,
info=info, info=info,
paths=paths, paths=paths,

View File

@ -1,18 +1,15 @@
from datetime import datetime from datetime import datetime
from enum import Enum from enum import Enum
from pathlib import Path from pathlib import Path
from typing import TYPE_CHECKING, Dict, Literal, Optional, Union from typing import Dict, Literal, Optional, Union
from dateutil.parser import isoparse from dateutil.parser import isoparse
from pydantic import BaseModel, Field, parse_obj_as, validator from pydantic import BaseModel, BeforeValidator, Field, parse_obj_as
from typing_extensions import Annotated from typing_extensions import Annotated
from ..config import CACHE_DIR from ..config import CACHE_DIR
from ..utils import mime_guess_extension from ..utils import mime_guess_extension
if TYPE_CHECKING:
from pydantic.typing import AnyClassMethod
EVENT_KEY_FORMAT = "%Y-%m-%d-%H-%M-%S" EVENT_KEY_FORMAT = "%Y-%m-%d-%H-%M-%S"
@ -41,16 +38,12 @@ class EventKind(str, Enum):
WEB_STREAM_OUTPUT_END = "stream_output_end" WEB_STREAM_OUTPUT_END = "stream_output_end"
def event_datetime_validator(prop: str) -> "AnyClassMethod": EventKeyDatetime = Annotated[datetime, BeforeValidator(event_key_to_datetime)]
return validator(prop, pre=True, allow_reuse=True)(event_key_to_datetime)
class BaseEvent(BaseModel): class BaseEvent(BaseModel):
start: datetime start: EventKeyDatetime
end: datetime end: EventKeyDatetime
_start_validator = event_datetime_validator("start")
_end_validator = event_datetime_validator("end")
@property @property
def start_key(self) -> str: def start_key(self) -> str: