[MetadataParser] Validate outtmpl early

This commit is contained in:
pukkandan 2022-03-11 14:28:27 +05:30
parent 76aa991374
commit 2b38f7b2bc
No known key found for this signature in database
GPG Key ID: 7EEE9E1E817D0A39

View File

@ -1,5 +1,4 @@
import re import re
from enum import Enum from enum import Enum
from .common import PostProcessor from .common import PostProcessor
@ -26,12 +25,17 @@ def validate_action(cls, action, *data):
''' '''
if not isinstance(action, cls.Actions): if not isinstance(action, cls.Actions):
raise ValueError(f'{action!r} is not a valid action') raise ValueError(f'{action!r} is not a valid action')
getattr(cls, action.value)(cls, *data) getattr(cls, action.value)(cls, *data) # So this can raise error to validate
@staticmethod @staticmethod
def field_to_template(tmpl): def field_to_template(tmpl):
if re.match(r'[a-zA-Z_]+$', tmpl): if re.match(r'[a-zA-Z_]+$', tmpl):
return f'%({tmpl})s' return f'%({tmpl})s'
from ..YoutubeDL import YoutubeDL
err = YoutubeDL.validate_outtmpl(tmpl)
if err:
raise err
return tmpl return tmpl
@staticmethod @staticmethod