facefusion/facefusion/program_helper.py
Henry Ruhs 4bffa0d183 Fix/enforce vp9 for webm (#805)
* Simple fix to enforce vp9 for webm

* Remove suggest methods from program helper

* Cleanup ffmpeg.py a bit
2024-11-11 22:07:51 +01:00

32 lines
946 B
Python

from argparse import ArgumentParser, _ArgumentGroup, _SubParsersAction
from typing import Optional
def find_argument_group(program : ArgumentParser, group_name : str) -> Optional[_ArgumentGroup]:
for group in program._action_groups:
if group.title == group_name:
return group
return None
def validate_args(program : ArgumentParser) -> bool:
if validate_actions(program):
for action in program._actions:
if isinstance(action, _SubParsersAction):
for _, sub_program in action._name_parser_map.items():
if not validate_args(sub_program):
return False
return True
return False
def validate_actions(program : ArgumentParser) -> bool:
for action in program._actions:
if action.default and action.choices:
if isinstance(action.default, list):
if any(default not in action.choices for default in action.default):
return False
elif action.default not in action.choices:
return False
return True