a pc@sddlZddlZddlZGdddZejdfddZddZd d d Zd d Z ddZ ddZ ddZ ddZ ddZddZddZddZddZdS)!Nc@s$eZdZdZdZdZdZdZdZdS)ColorzANSI Terminal colorszzzzzN) __name__ __module__ __qualname____doc__GREENZBLUEYELLOWREDENDr r $/usr/share/glib-2.0/codegen/utils.pyrs rZMESSAGEcCsBttjr$dj||tjd}n|}tjdj||ddS)z"Print a string with a color prefixz{start}{prefix}{end})startprefixendz{prefix}: {msg} )rmsgN) osisattysysstderrfilenoformatrr write)rcolorrZ real_prefixr r r print_color&s rcCst|tjddtddS)zPrint an error, and terminateERRORrrN)rrr rexitrr r r print_error1srFcCs8|rtj}d}n tj}d}t||||r4tddS)z)Print a warning, and optionally terminaterZWARNINGrN)rr rrrr)rZfatalrrr r r print_warning7s r cCst|tjdddS)zPrint a messageINFOrN)rrrrr r r print_infoDsr"cCsBd}d}|D]0}|dkrd}q |r4||7}d}q ||7}q |S)NF.T)upper)sretZ force_uppercr r r strip_dotsIs  r)cCs |ddS)Nr$-)replacer&r r r dots_to_hyphensXsr-cCsnd}d}d}d}|D]T}|r.|dkr.|d7}qd}|rH|rBd}d}nd}|rX|d7}||7}d}q|S)Nr#FT_)isupperlower)r&r'Z insert_uscoreZprev_was_lowerinitialr(r r r camel_case_to_uscore\s&  r2cCs|r|ddkrdSdS)Nr.rTF)findr,r r r is_ugly_caseusr4cCs&|r"|D]}|j|kr|jSqdS)N)keyvalue) annotationsr5ar r r lookup_annotation{s   r9cCst|d}|durdS|SdS)Nzorg.gtk.GDBus.DocStringr#r9r7r&r r r lookup_docss r<cCst|d}|durdS|SdS)Nzorg.gtk.GDBus.Sincer#r:r;r r r lookup_sinces r=cCst|d}|durdS|SdS)Nzorg.gtk.GDBus.DocString.Shortr#r:r;r r r lookup_brief_docss r>cCs@|ddkrd}n|dr(t|d}nd}tj||dfS)NrZ UNRELEASEDZ99990r)str distutilsversionZ LooseVersion)r5vr r r version_cmp_keys  rD)F)Zdistutils.versionrArrrr rrr r"r)r-r2r4r9r<r=r>rDr r r r s