
¹€…[£  ã               @   sã   d  d l  Z d  d l Z d  d l Z Gd d „  d ƒ Z e j d 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               @   s4   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   úshare/glib-2.0/codegen/utils.pyr      s   r   ZMESSAGEc             C   sh   t  j t j j ƒ  ƒ r< d j d | d | d t j ƒ } n | } t j j d j d | d |  ƒ ƒ d S)z"Print a string with a color prefixz{start}{prefix}{end}ÚstartÚprefixÚendz{prefix}: {msg}
ÚmsgN)	ÚosÚisattyÚsysÚstderrÚfilenoÚformatr   r
   Úwrite)r   Úcolorr   Zreal_prefixr   r   r   Úprint_color#   s    $r   c             C   s*   t  |  d t j d d ƒt j d ƒ d S)zPrint an error, and terminater   r   ÚERRORé   N)r   r   r	   r   Úexit)r   r   r   r   Úprint_error+   s    r   Fc             C   sN   | r t  j } d } n t  j } d } t |  | | ƒ | rJ t j d ƒ 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_warning0   s    			r   c             C   s   t  |  d t j d d ƒd S)zPrint a messager   r   ÚINFON)r   r   r   )r   r   r   r   Ú
print_info<   s    r    c             C   s_   d } d } xL |  D]D } | d k r. d } q | rM | | j  ƒ  7} d } q | | 7} q W| S)NÚ FÚ.T)Úupper)ÚsÚretZforce_upperÚcr   r   r   Ú
strip_dots@   s    		r'   c             C   s   |  j  d d ƒ S)Nr"   ú-)Úreplace)r$   r   r   r   Údots_to_hyphensN   s    r*   c             C   sŸ   d } d } d } d } x€ |  D]x } | rD | d k rD | d 7} q d } | j  ƒ  rk | rb d } d } n d } | r | d 7} | | j ƒ  7} d } q W| S)Nr!   FTÚ_)ÚisupperÚlower)r$   r%   Zinsert_uscoreZprev_was_lowerÚinitialr&   r   r   r   Úcamel_case_to_uscoreQ   s&    
	

r/   c             C   s#   |  r |  j  d ƒ d k r d Sd S)Nr+   r   TF)Úfind)r$   r   r   r   Úis_ugly_casei   s    r1   c             C   s1   |  r- x$ |  D] } | j  | k r | j Sq Wd  S)N)ÚkeyÚvalue)Úannotationsr2   Úar   r   r   Úlookup_annotationn   s
    r6   c             C   s'   t  |  d ƒ } | d  k r d S| Sd  S)Nzorg.gtk.GDBus.DocStringr!   )r6   )r4   r$   r   r   r   Úlookup_docsu   s    r7   c             C   s'   t  |  d ƒ } | d  k r d S| Sd  S)Nzorg.gtk.GDBus.Sincer!   )r6   )r4   r$   r   r   r   Úlookup_since|   s    r8   c             C   s'   t  |  d ƒ } | d  k r d S| Sd  S)Nzorg.gtk.GDBus.DocString.Shortr!   )r6   )r4   r$   r   r   r   Úlookup_brief_docsƒ   s    r9   c             C   sV   |  d d k r d } n# |  d r6 t  |  d ƒ } n d } t j j | ƒ |  d f S)Nr   Z
UNRELEASEDZ9999Ú0r   )ÚstrÚ	distutilsÚversionZLooseVersion)r2   Úvr   r   r   Úversion_cmp_keyŠ   s    	
r?   )Zdistutils.versionr<   r   r   r   r
   r   r   r   r    r'   r*   r/   r1   r6   r7   r8   r9   r?   r   r   r   r   Ú<module>   s    