LiKenun's picture
Refactor #3
bb7c9a3
raw
history blame contribute delete
717 Bytes
from datetime import datetime
from pydantic import BaseModel, ConfigDict
from typing import Self
class GoogleDriveMetadata(BaseModel):
"""Represents Google Drive file or folder metadata."""
model_config = ConfigDict(frozen=True)
id: str
name: str
modified_time: datetime
mime_type: str
folder_path: str
@classmethod
def from_folder_path_and_dict(cls, folder_path: str, dict: dict) -> Self:
id = dict["id"]
name = dict["name"]
modified_time = datetime.fromisoformat(dict["modifiedTime"])
mime_type = dict["mimeType"]
return GoogleDriveMetadata(id=id, name=name, modified_time=modified_time, mime_type=mime_type, folder_path=folder_path)