33This module provides the argument parsing and command-line handling functionality,
44including argument definitions, help text generation, and command processing.
55"""
6- import argparse
76import logging
87import os
98import sys
9+ from argparse import ArgumentParser , Namespace , RawDescriptionHelpFormatter
1010from typing import Dict , List , Optional
1111
1212from ..models .enums import ModelProvider , ModelProviderList
1313from .helpers import get_version
1414
1515
16- class CustomArgumentParser (argparse . ArgumentParser ):
16+ class CustomArgumentParser (ArgumentParser ):
1717 """
1818 Custom ArgumentParser that handles errors in a more user-friendly way.
1919 """
20- def error (self , message ):
20+ def error (self , message : str ):
2121 """
2222 Display a cleaner error message with usage information.
2323
@@ -29,12 +29,12 @@ def error(self, message):
2929 sys .exit (2 )
3030
3131
32- def parse_args ():
32+ def parse_args () -> Namespace :
3333 """
3434 Parse command-line arguments with a more user-friendly interface.
3535
3636 Returns:
37- argparse. Namespace: Parsed arguments
37+ Namespace: Parsed arguments
3838 """
3939 # First pass - check if list-models is in args
4040 # This allows us to make folder and lang not required when listing models
@@ -59,7 +59,7 @@ def parse_args():
5959 # Process multiple translations in bulk with a specific model
6060 gpt-po-translator --folder ./locales --lang ja,ko --bulk --model gpt-4
6161""" ,
62- formatter_class = lambda prog : argparse . RawDescriptionHelpFormatter (prog , max_help_position = 35 , width = 100 )
62+ formatter_class = lambda prog : RawDescriptionHelpFormatter (prog , max_help_position = 35 , width = 100 )
6363 )
6464
6565 # Create argument groups for better organization
@@ -222,12 +222,12 @@ def create_language_mapping(lang_codes: List[str], detail_langs_arg: Optional[st
222222 return dict (zip (lang_codes , detail_langs ))
223223
224224
225- def get_provider_from_args (args ) -> Optional [ModelProvider ]:
225+ def get_provider_from_args (args : Namespace ) -> Optional [ModelProvider ]:
226226 """
227227 Get the provider from command line arguments.
228228
229229 Args:
230- args (argparse. Namespace): Parsed command line arguments
230+ args (Namespace): Parsed command line arguments
231231
232232 Returns:
233233 Optional[ModelProvider]: The selected provider or None if not specified
@@ -237,12 +237,12 @@ def get_provider_from_args(args) -> Optional[ModelProvider]:
237237 return None
238238
239239
240- def get_api_keys_from_args (args ) -> Dict [str , str ]:
240+ def get_api_keys_from_args (args : Namespace ) -> Dict [str , str ]:
241241 """
242242 Extract API keys from command line arguments and environment variables.
243243
244244 Args:
245- args (argparse. Namespace): Parsed command line arguments
245+ args (Namespace): Parsed command line arguments
246246
247247 Returns:
248248 Dict[str, str]: Dictionary of provider names to API keys
0 commit comments