o
    fz                     @   s  d dl Z d dlZd dlZd dlZd dlZd dlZedej e_e	dej
 e_
e	dej e_ejejd  Zd ddddddd	Zed
 add Zdd Zdd Zdd Zd#ddZdd Zdd Zd$ddZd$ddZG dd  d ejZd!d" ZdS )%    Nzutf-8                  )ZNONEERRORWARNZBASICPROGRESSINFODEBUGr
   c                 C   s@   t | d}|dkrttd|   |ad S ttd|   d S )Nr   zSetting loglevel to %sz Unknown or invalid loglevel '%s')
_loglevelsgetdebug_output_	_loglevelerror)lnewlevel r   \/home/lily/lilypond-2.24.4/release/binaries/mingw/lilypond/lilypond-2.24.4/python/lilylib.pyset_loglevel.   s
   r   c                 G   s(   |rt | d S |rt |d  d S d S )Nr   )r   )optionZopt_strvalueparserargsr   r   r   handle_loglevel_option8   s
   r   c                 C   s   t t|  kS N)r   r   )r   r   r   r   _is_loglevel?   s   r   c                   C   s   t dS Nr   )r   r   r   r   r   
is_verboseD   s   r!   Tc                 C   sH   t | r"|rtd | d }n|r|d7 }tj| tj  d S d S )Nz: 
)r   program_namesysstderrwriteflush)levelsfullmessagenewliner   r   r   _print_logmessageH   s   r,   c                 C      t dtd|   d S )Nr   z	error: %sr,   r   r)   r   r   r   r   R      r   c                 C   r-   )Nr	   zwarning: %sr.   r/   r   r   r   warningV   r0   r1   Fc                 C      t d| || d S )Nr
   r,   r)   r*   r+   r   r   r   progressZ      r5   c                 C   r2   r    r3   r4   r   r   r   r   ^   r6   r   c                   @   s<   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd ZdS )_NonDentedHeadingFormatterc                 C   s$   |r|d   |dd   d S dS )Nr   r   z:
 )upper)selfZheadingr   r   r   format_headingc   s   z)_NonDentedHeadingFormatter.format_headingc                 C   sT   d}|j r
|jr
d}d}| rd|j p|j }dd|j |d|j|f S )N ,r8   z=%sz
%3s%s %s%s)Z_short_optsZ
_long_optsZtakes_valuemetavardestr9   join)r:   r   sepr>   r   r   r   format_option_stringsh   s   
z0_NonDentedHeadingFormatter.format_option_stringsc                 C   s   | j | _|  jd7  _d S )Nr   )Zindent_incrementcurrent_indentr(   r:   r   r   r   indentx   s   z!_NonDentedHeadingFormatter.indentc                 C   s,   |  j d8  _ | j dkrd| _d| _ d S d S )Nr   r   r8   )r(   rC   rD   r   r   r   dedent|   s
   

z!_NonDentedHeadingFormatter.dedentc                 C   s   t d| d S )Nz	Usage: %sr"   )r   )r:   Zusager   r   r   format_usage   s   z'_NonDentedHeadingFormatter.format_usagec                 C   s   |S r   r   )r:   descriptionr   r   r   format_description   s   z-_NonDentedHeadingFormatter.format_descriptionN)	__name__
__module____qualname__r;   rB   rE   rF   rG   rI   r   r   r   r   r7   b   s    r7   c                  O   s(   t j| i |}t |_|j| |S r   )optparseZOptionParserr7   Z	formatterZ
set_parser)r   kwargspr   r   r   get_option_parser   s   rP   )TT)FT)__main__codecsgettextrM   osr$   	getreaderstdindetach	getwriterstdoutr%   pathbasenameargvr#   r   r   r   r   r   r!   r,   r   r1   r5   r   ZIndentedHelpFormatterr7   rP   r   r   r   r   <module>   s2   	




'