-from __future__ import unicode_literals
+# flake8: noqa: F401
+from .common import PostProcessor
from .embedthumbnail import EmbedThumbnailPP
+from .exec import ExecAfterDownloadPP, ExecPP
from .ffmpeg import (
- FFmpegPostProcessor,
+ FFmpegConcatPP,
+ FFmpegCopyStreamPP,
FFmpegEmbedSubtitlePP,
FFmpegExtractAudioPP,
- FFmpegFixupStretchedPP,
+ FFmpegFixupDuplicateMoovPP,
+ FFmpegFixupDurationPP,
FFmpegFixupM3u8PP,
FFmpegFixupM4aPP,
+ FFmpegFixupStretchedPP,
+ FFmpegFixupTimestampPP,
FFmpegMergerPP,
FFmpegMetadataPP,
+ FFmpegPostProcessor,
+ FFmpegSplitChaptersPP,
+ FFmpegSubtitlesConvertorPP,
+ FFmpegThumbnailsConvertorPP,
FFmpegVideoConvertorPP,
FFmpegVideoRemuxerPP,
- FFmpegSubtitlesConvertorPP,
- FFmpegSplitChaptersPP,
)
-from .xattrpp import XAttrMetadataPP
-from .execafterdownload import ExecAfterDownloadPP
-from .metadatafromfield import MetadataFromFieldPP
-from .metadatafromfield import MetadataFromTitlePP
+from .metadataparser import (
+ MetadataFromFieldPP,
+ MetadataFromTitlePP,
+ MetadataParserPP,
+)
+from .modify_chapters import ModifyChaptersPP
from .movefilesafterdownload import MoveFilesAfterDownloadPP
from .sponskrub import SponSkrubPP
+from .sponsorblock import SponsorBlockPP
+from .xattrpp import XAttrMetadataPP
+from ..plugins import load_plugins
+
+_PLUGIN_CLASSES = load_plugins('postprocessor', 'PP')
def get_postprocessor(key):
return globals()[key + 'PP']
-__all__ = [
- 'EmbedThumbnailPP',
- 'ExecAfterDownloadPP',
- 'FFmpegEmbedSubtitlePP',
- 'FFmpegExtractAudioPP',
- 'FFmpegSplitChaptersPP',
- 'FFmpegFixupM3u8PP',
- 'FFmpegFixupM4aPP',
- 'FFmpegFixupStretchedPP',
- 'FFmpegMergerPP',
- 'FFmpegMetadataPP',
- 'FFmpegPostProcessor',
- 'FFmpegSubtitlesConvertorPP',
- 'FFmpegVideoConvertorPP',
- 'FFmpegVideoRemuxerPP',
- 'MetadataFromFieldPP',
- 'MetadataFromTitlePP',
- 'MoveFilesAfterDownloadPP',
- 'SponSkrubPP',
- 'XAttrMetadataPP',
-]
+globals().update(_PLUGIN_CLASSES)
+__all__ = [name for name in globals() if name.endswith('PP')]
+__all__.extend(('PostProcessor', 'FFmpegPostProcessor'))