U
    4Jen	                     @   sB   d Z ddlZddlZG dd dejZejjeje	dddZ
dS )zClick utilities.    Nc                       s2   e Zd ZdZ fddZdd fddZ  ZS )OptionEatAllznTaken from https://stackoverflow.com/questions/48391777/nargs-equivalent-for-options-in-click#answer-48394004.c                    sR   | dd| _| dd}|dkr0td| tt| j|| d| _d| _dS )	Override.save_other_optionsTnargsznargs, if set, must be -1 not N)popr   
ValueErrorsuperr   __init___previous_parser_process_eat_all_parser)selfargskwargsr   	__class__ @/tmp/pip-unpacked-wheel-6qcj4cmz/sqlite3_to_mysql/click_utils.pyr
      s    zOptionEatAll.__init__Nreturnc                    sh   dd fdd}t t ||} jD ]8}|j|pD|j|}|r*| _|j _	||_ qdq*|S )r   Nr   c                    s   d}| g}  j rV|jrn|sn jjD ]}|jd |r"d}q"|s| |jd qn| |j7 } g |jd d < t| }  | | d S )NFr   T)	r   rargsr   prefixes
startswithappendr   tupler   )valuestatedoneprefixr   r   r   parser_process   s    

z2OptionEatAll.add_to_parser.<locals>.parser_process)
r	   r   add_to_parseropts	_long_optget
_short_optr   processr   )r   parserctxr    retvalnameZ
our_parserr   r   r   r!      s    
zOptionEatAll.add_to_parser)__name__
__module____qualname____doc__r
   r!   __classcell__r   r   r   r   r      s   
r   )r(   paramuse_passwordc                 C   s*   |r&| j d}|s"tjddd}|S dS )zPrompt for password.mysql_passwordzMySQL passwordT)Z
hide_inputN)paramsr$   clickprompt)r(   r0   r1   r2   r   r   r   prompt_password9   s
    r6   )r.   typingtr4   Optionr   coreContextAnyboolr6   r   r   r   r   <module>   s   1