frappe/env/lib/python3.12/site-packages/pyyoutube/models/base.py

18 lines
528 B
Python

from dataclasses import dataclass
from typing import Type, TypeVar
from dataclasses_json import DataClassJsonMixin
from dataclasses_json.core import Json, _decode_dataclass
A = TypeVar("A", bound="DataClassJsonMixin")
@dataclass
class BaseModel(DataClassJsonMixin):
"""Base model class for instance use."""
@classmethod
def from_dict(cls: Type[A], kvs: Json, *, infer_missing=False) -> A:
# save original data for lookup
cls._json = kvs
return _decode_dataclass(cls, kvs, infer_missing)