capcat.scripts.generate_source_config
File: Application/capcat/scripts/generate_source_config.py
Description
Interactive script to generate comprehensive YAML configuration files for config-driven sources in Capcat.
This script creates production-ready configs with all necessary fields including discovery methods, selectors, image processing, and templates.
Functions
prompt_text
def prompt_text(question: str, default: Optional[str] = None) -> str
Prompt user for text input with optional default value.
Args: question: Question to ask the user default: Optional default value
Returns: User input or default value
Parameters:
question(str)default(Optional[str]) optional
Returns: str
prompt_yes_no
def prompt_yes_no(question: str, default: bool = False) -> bool
Prompt user for yes/no question.
Args: question: Question to ask default: Default value if user just presses enter
Returns: True for yes, False for no
Parameters:
question(str)default(bool) optional
Returns: bool
prompt_list
def prompt_list(question: str, examples: List[str]) -> List[str]
Prompt user for a list of items.
Args: question: Question to ask examples: Example values to show
Returns: List of user-provided items
Parameters:
question(str)examples(List[str])
Returns: List[str]
prompt_choice
def prompt_choice(question: str, choices: List[str], default: str) -> str
Prompt user to choose from a list of options.
Args: question: Question to ask choices: List of valid choices default: Default choice
Returns: Selected choice
Parameters:
question(str)choices(List[str])default(str)
Returns: str
generate_config
def generate_config() -> Dict
Interactively gather configuration data from user.
Returns: Dictionary containing the complete configuration
Returns: Dict
save_config
def save_config(config: Dict, output_path: Optional[Path] = None) -> Path
Save configuration to YAML file.
Args: config: Configuration dictionary output_path: Optional custom output path
Returns: Path to saved file
Parameters:
config(Dict)output_path(Optional[Path]) optional
Returns: Path
parse_args
def parse_args()
Parse command-line arguments.
main
def main()
Main entry point for the config generator.