a ZS`@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#srcCst|tjddtddS)zPrint an error, and terminateERRORrrN)rrr rexitrr r r print_error+srFcCs8|rtj}d}n tj}d}t||||r4tddS)z)Print a warning, and optionally terminaterZWARNINGrN)rr rrrr)rZfatalrrr r r print_warning0s r cCst|tjdddS)zPrint a messageINFOrN)rrrrr r r print_info<sr"cCsBd}d}|D]0}|dkrd}q |r4||7}d}q ||7}q |S)NF.T)upper)sretZ force_uppercr r r strip_dots@s  r)cCs |ddS)Nr$-)replacer&r r r dots_to_hyphensNsr-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_uscoreQs&  r2cCs|r|ddkrdSdS)Nr.rTF)findr,r r r is_ugly_caseisr4cCs&|r"|D]}|j|kr|jSqdS)N)keyvalue) annotationsr5ar r r lookup_annotationns   r9cCst|d}|durdS|SdS)Nzorg.gtk.GDBus.DocStringr#r9r7r&r r r lookup_docsus r<cCst|d}|durdS|SdS)Nzorg.gtk.GDBus.Sincer#r:r;r r r lookup_since|s 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