Total Complexity | 2 |
Total Lines | 18 |
Duplicated Lines | 0 % |
Changes | 0 |
1 | """FFMpeg Subject that runs ffmpeg in python subprocess.""" |
||
2 | from software_patterns import Singleton |
||
3 | |||
4 | from ..run_cli import execute_command_in_subprocess |
||
5 | |||
6 | __all__ = ['FFMpegSubject'] |
||
7 | |||
8 | |||
9 | # Our implementation of the Subject class (see the Proxy pattern) |
||
10 | class FFMPEGSubject(metaclass=Singleton): |
||
11 | """The standard FFMPEGSubject class proxies the ffmpeg CLI.""" |
||
12 | |||
13 | def __init__(self, ffmpeg_binary: str): |
||
14 | self.ffmpeg_binary = ffmpeg_binary |
||
15 | |||
16 | def __call__(self, *args, **kwargs): |
||
17 | return execute_command_in_subprocess(self.ffmpeg_binary, *args, **kwargs) |
||
18 |