B
    _2                 @   sF  d dl Z d dlZd dlZd dlZ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dd  ZG d!d" d"ej Z!G d#d$ d$ej"Z#d%d& Z$dS )*    Nutf8                  )ZNONEERRORWARNZBASICPROGRESSINFODEBUGr   c             C   s>   t | d}|dkr*ttd|   |an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   i/home/gub/NewGub/gub/target/mingw/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.22/python/lilylib.pyset_loglevel3   s
    r   c             G   s"   |rt | n|rt |d  d S )Nr   )r   )optionZopt_strvalueparserargsr   r   r   handle_loglevel_option=   s    
r   c             C   s   t t|  kS )N)r   r   )r   r   r   r   is_loglevelD   s    r   c               C   s   t dS )Nr   )r   r   r   r   r   
is_verboseI   s    r    Tc             C   sD   t | r@|rtd | d }n|r*|d7 }tj| tj  d S )Nz: 
)r   program_namesysstderrwriteflush)levelsfullmessagenewliner   r   r   print_logmessageM   s    r+   c             C   s   t dtd|   d S )Nr	   z	error: %s)r+   r   )r(   r   r   r   r   W   s    r   c             C   s   t dtd|   d S )Nr
   zwarning: %s)r+   r   )r(   r   r   r   warning[   s    r,   Fc             C   s   t d| || d S )Nr   )r+   )r(   r)   r*   r   r   r   progress_   s    r-   c             C   s   t d| || d S )Nr   )r+   )r(   r)   r*   r   r   r   r   c   s    r   c             C   s$   t j| \}}||krd}|| S )N )ospathsplitext)fZextper   r   r   strip_extensiong   s    r5   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:
r.   )upper)selfZheadingr   r   r   format_headingo   s    z(NonDentedHeadingFormatter.format_headingc             C   sT   d}|j r|jrd}d}| r4d|j p2|j }dd|j |d|j|f S )N ,r.   z=%sz
%3s%s %s%s)Z_short_optsZ
_long_optsZtakes_valuemetavardestr7   join)r8   r   sepr<   r   r   r   format_option_stringst   s    
z/NonDentedHeadingFormatter.format_option_stringsc             C   s   | j | _|  jd7  _d S )Nr   )Zindent_incrementcurrent_indentr'   )r8   r   r   r   indent   s    z NonDentedHeadingFormatter.indentc             C   s(   |  j d8  _ | j dkr$d| _d| _ d S )Nr   r   r.   )r'   rA   )r8   r   r   r   dedent   s    
z NonDentedHeadingFormatter.dedentc             C   s   t d| d S )Nz	Usage: %sr!   )r   )r8   Zusager   r   r   format_usage   s    z&NonDentedHeadingFormatter.format_usagec             C   s   |S )Nr   )r8   Zdescriptionr   r   r   format_description   s    z,NonDentedHeadingFormatter.format_descriptionN)	__name__
__module____qualname__r9   r@   rB   rC   rD   rE   r   r   r   r   r6   n   s   r6   c               @   s   e Zd ZdZdddZdS )NonEmptyOptionParserz?A subclass of OptionParser that gobbles empty string arguments.Nc             C   s&   t j| ||\}}|dd |D fS )Nc             S   s   g | ]}|r|qS r   r   ).0Z_fr   r   r   
<listcomp>   s    z3NonEmptyOptionParser.parse_args.<locals>.<listcomp>)optparseOptionParser
parse_args)r8   r   valuesZoptionsr   r   r   rN      s    zNonEmptyOptionParser.parse_args)NN)rF   rG   rH   __doc__rN   r   r   r   r   rI      s   rI   c              O   s"   t | |}t |_|j| |S )N)rI   r6   Z	formatterZ
set_parser)r   kwargsr3   r   r   r   get_option_parser   s    
rR   )TT)FT)FT)%__main__codecsgettextZglobrL   r/   reZshutilr#   Ztime	getreaderstdindetach	getwriterstdoutr$   r0   basenameargvr"   r   r   r   r   r   r    r+   r   r,   r-   r   r5   ZIndentedHelpFormatterr6   rM   rI   rR   r   r   r   r   <module>   s:   





'