Source code for peyk.utils.media_group

from __future__ import annotations
from dataclasses import dataclass, field
from typing import Generic, TypeVar
T = TypeVar('T')

[docs] @dataclass class MediaGroupBuilder(Generic[T]): """Collect media items for a platform-supported media group.""" items: list[T] = field(default_factory=list)
[docs] def add(self, media: T) -> 'MediaGroupBuilder[T]': """Performs the add operation for the utility client. Args: media: Value used by this operation. Returns: Result produced by the utility operation.""" self.items.append(media) return self
[docs] def build(self) -> list[T]: """Performs the build operation for the utility client. Returns: Result produced by the utility operation.""" return list(self.items)
def __len__(self) -> int: return len(self.items)