B ò*¬óá¤ã@sVdZddlZddlZddlZddlZddlZdZdZdd„Zdd„Z e d krRe ƒdS) z+Transform gprof(1) output into useful HTML.éNzF gprof output (%s)
z
c cs2t|ƒ }x|D]}t |¡VqWWdQRXdS)N)ÚopenÚhtmlÚescape)ÚfilenameÚfpÚline©rú=/opt/alt/python37/lib64/python3.7/Tools/scripts/gprof2html.pyÚ add_escapess  r c Csúd}tjdd…rtjd}|d}t|ƒ}t|dƒ}| t|¡x"|D]}| |¡| d¡rJPqJWi}xV|D]N}t d|¡}|s’| |¡P|  dd¡\}}|||<| d||||f¡qrWx"|D]}| |¡| d ¡rÊPqÊWxœ|D]”}t d |¡}|s| |¡| d ¡rîPqî|  ddd ¡\} }} ||krF| |¡qî| d ¡rl| d| |||| f¡qî| d| ||| f¡qîWxF|D]>}x6t  d|¡D]&} | |kr¸d| | f} | | ¡qžWqŒW| t ¡|  ¡t  dtj |¡¡dS)Nz gprof.outéz.htmlÚwz timez (.* )(\w+)\néz+%s%s z index % timez*(.* )(\w+)(( <cycle.*>)? \[\d+\])\nzIndex by function nameéú[z-%s%s%s z%s%s%s z(\w+(?:\.c)?|\W+)z%szfile:)ÚsysÚargvr rÚwriteÚheaderÚ startswithÚreÚmatchÚgroupÚfindallÚtrailerÚcloseÚ webbrowserÚosÚpathÚabspath) rZoutputfilenameÚinputÚoutputrÚlabelsÚmZstuffZfnameÚprefixÚsuffixÚpartrrr Úmain sb                      r&Ú__main__) Ú__doc__rrrrrrrr r&Ú__name__rrrr Ús 4