File size: 795 Bytes
7288748
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
from typing import List

from video import YoutubeVideo
from transforming.transform import Transform
from utils import accepts_types

class BatchTransformer:
    
    """Class that applies multiple transforms to YouTube video object."""
    
    def __init__(self, transforms: List[Transform]) -> None:
        self._transforms = transforms
        
    @property
    def transforms(self) -> List[Transform]:
        return self._transforms
    
    @transforms.setter
    def transforms(self, transforms: List[Transform]) -> None:
        self._transforms = transforms
        
    @accepts_types(list)
    def apply(self, videos: List[YoutubeVideo]) -> List[YoutubeVideo]:
        for transform in self._transforms:
            videos = list(map(transform.apply, videos))
        return videos