o
    Ad                     @   s   d dl Zd dlZd dlZG dd dZejdfddZdd Zd d
dZdd Z	dd Z
dd Zdd Zdd Zdd Zdd Zdd Zdd Zdd ZdS )!    Nc                   @   s$   e Zd ZdZdZdZdZdZdZdS )ColorzANSI Terminal colorsz[1;32mz[1;34mz[1;33mz[1;31mz[0mN)	__name__
__module____qualname____doc__GREENZBLUEYELLOWREDEND r   r   V/home/ych/rk3568/buildroot/output/rockchip_rk3568/host/share/glib-2.0/codegen/utils.pyr      s    r   ZMESSAGEc                 C   sB   t tj rdj||tjd}n|}tjdj|| d dS )z"Print a string with a color prefixz{start}{prefix}{end})startprefixendz{prefix}: {msg}
)r   msgN)	osisattysysstderrfilenoformatr   r
   write)r   colorr   Zreal_prefixr   r   r   print_color&   s   r   c                 C   s   t | tjdd td dS )zPrint an error, and terminateERRORr   r      N)r   r   r	   r   exitr   r   r   r   print_error1   s   r   Fc                 C   s<   |rt j}d}nt j}d}t| || |rtd dS dS )z)Print a warning, and optionally terminater   ZWARNINGr   N)r   r	   r   r   r   r   )r   Zfatalr   r   r   r   r   print_warning7   s   r    c                 C   s   t | tjdd dS )zPrint a messageINFOr   N)r   r   r   r   r   r   r   
print_infoD   s   r"   c                 C   sB   d}d}| D ]}|dkrd}q|r||  7 }d}q||7 }q|S )N F.T)upper)sretZforce_uppercr   r   r   
strip_dotsI   s   
r)   c                 C   s   |  ddS )Nr$   -)replacer&   r   r   r   dots_to_hyphensX   s   r-   c                 C   sn   d}d}d}d}| D ]*}|r|dkr|d7 }q
d}|  r$|r!d}d}nd}|r,|d7 }|| 7 }d}q
|S )Nr#   FT_)isupperlower)r&   r'   Zinsert_uscoreZprev_was_lowerZinitialr(   r   r   r   camel_case_to_uscore\   s&   r1   c                 C   s   | r|  ddkrdS dS )Nr.   r   TF)findr,   r   r   r   is_ugly_caseu   s   r3   c                 C   s&   | r| D ]}|j |kr|j  S qd S )N)keyvalue)annotationsr4   ar   r   r   lookup_annotation{   s   

r8   c                 C      t | d}|d u rdS |S )Nzorg.gtk.GDBus.DocStringr#   r8   r6   r&   r   r   r   lookup_docs      
r<   c                 C   r9   )Nzorg.gtk.GDBus.Sincer#   r:   r;   r   r   r   lookup_since   r=   r>   c                 C   r9   )Nzorg.gtk.GDBus.DocString.Shortr#   r:   r;   r   r   r   lookup_brief_docs   r=   r?   c                 C   s@   | d dkr	d}n| d rt | d }nd}tj|| d fS )Nr   Z
UNRELEASEDZ99990r   )str	distutilsversionZLooseVersion)r4   vr   r   r   version_cmp_key   s   rE   )F)Zdistutils.versionrB   r   r   r   r
   r   r   r    r"   r)   r-   r1   r3   r8   r<   r>   r?   rE   r   r   r   r   <module>   s"   

