@@ -2550,6 +2550,13 @@ def py_arg_name(self) -> str:
25502550 """Python-compatible term."""
25512551 return to_py_arg_name (self ._name )
25522552
2553+ @property
2554+ def description (self ) -> str :
2555+ """Description of the argument."""
2556+ if isinstance (self ._description , str ):
2557+ return self ._description
2558+ return str (self ._description )
2559+
25532560 @property
25542561 def is_arg_elipsis (self ):
25552562 """
@@ -2768,6 +2775,12 @@ def __init__(
27682775 self ._arguments = []
27692776 self ._additional_args = []
27702777 self ._initial_args = args
2778+ self ._missing_argument_description = MISSING_ARGUMENT_DESCRIPTION .replace (
2779+ "url" , f"{ self ._url } "
2780+ )
2781+ self ._additional_argument_description = ADDITIONAL_ARGUMENT_DESCRIPTION .replace (
2782+ "url" , f"{ self ._url } "
2783+ )
27712784 self ._parse_list_entry ()
27722785
27732786 def _parse_list_entry (self ):
@@ -2797,7 +2810,7 @@ def _parse_list_entry(self):
27972810 self ._terms ,
27982811 initial_arg ,
27992812 self ._initial_args ,
2800- MISSING_ARGUMENT_DESCRIPTION . replace ( "url" , f" { self ._url } " ) ,
2813+ self ._missing_argument_description ,
28012814 )
28022815 ) # description is missing
28032816
@@ -2814,17 +2827,18 @@ def _parse_list_entry(self):
28142827 self ._terms ,
28152828 "addional_command_arg" ,
28162829 self ._initial_args ,
2817- ADDITIONAL_ARGUMENT_DESCRIPTION . replace ( "url" , f" { self ._url } " ) ,
2830+ self ._additional_argument_description ,
28182831 )
28192832 )
28202833
28212834 def __iadd__ (self , argument_list ):
28222835 temp_args = {}
28232836 for arg in argument_list .arguments :
28242837 arg_name = arg .py_arg_name
2825- if (arg_name in self ._initial_args ) and (
2826- arg_name == "" or arg_name not in self .py_arg_names
2827- ):
2838+ if (arg_name in self ._initial_args ) and arg .description not in [
2839+ self ._missing_argument_description ,
2840+ self ._additional_argument_description ,
2841+ ]:
28282842 temp_args [arg_name ] = arg
28292843
28302844 for initial_arg in self ._initial_args :
@@ -2840,7 +2854,7 @@ def __iadd__(self, argument_list):
28402854 self ._terms ,
28412855 initial_arg ,
28422856 self ._initial_args ,
2843- MISSING_ARGUMENT_DESCRIPTION . replace ( "url" , f" { self ._url } " ) ,
2857+ self ._missing_argument_description ,
28442858 )
28452859 )
28462860
@@ -2857,7 +2871,7 @@ def __iadd__(self, argument_list):
28572871 self ._terms ,
28582872 "addional_command_arg" ,
28592873 self ._initial_args ,
2860- ADDITIONAL_ARGUMENT_DESCRIPTION . replace ( "url" , f" { self ._url } " ) ,
2874+ self ._additional_argument_description ,
28612875 )
28622876 )
28632877
0 commit comments