-í ™º‘;csndZ dkZ dkZ dkZ dkZdkZdkZdkZdklZe eiƒƒZ ei dƒZ d„Z "dfd„ƒYZ´dkZ¶deifd„ƒYZÅd fd „ƒYZÔd efd „ƒYZçd „Zîd„Zõddd„Zd„Z d„Zd„Z d„ZdS(s<$Id: status_handler.py,v 1.2 2000/09/09 22:44:06 adamf Exp $N(scounters+\([^;?#]*\)\(;[^?#]*\)?\(\?[^#]*\)?\(#.*\)?csUti|ƒt|ƒjotd‚n  ttd„tddƒƒSdS(Nsbad pathcs |i|ƒS(N(srsgroupsi(sisr((sM/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/status_handler.pys sii(s path_regexsmatchspathslens ValueErrorsmapsrange(spath((sM/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/status_handler.pys split_pathssstatus_extensioncs_"#eƒZ%ddd„Z2d„Z8d„ZKd„Z«d„Z°d„ZRS( Ns/statusicss%&||_'||_(||_-tidƒ|_.g|_/x!|D/]}0|i |ƒqRWdS(Ns/status/object/\([0-9]+\)/.*( sobjectssselfs statusdirsallow_emergency_debugsregexscompiles hyper_regexs hyper_objectssobjectsregister_hyper_object(sselfsobjectss statusdirsallow_emergency_debugsobject((sM/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/status_handler.pys__init__%s     cs!23d|it|ƒfSdS(Ns"(sselfs hit_countersid(sself((sM/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/status_handler.pys__repr__2scsY89t|iƒ\}}}};|t|i ƒ |i jp|tdƒ djSdS(Ns/status/object/( s split_pathsrequestsurispathsparamssquerysfragmentslensselfs statusdir(sselfsrequestsparamssquerysfragmentspath((sM/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/status_handler.pysmatch8scsæKLt|iƒ\}}}}M|ii ƒN||i joÙOt i t ttiƒƒtƒƒ}Pd|d<Q|id|ƒXxMtt|iƒƒDX]3} Y|i|i| iƒƒZ|idƒq¦W[|id|i |i titifƒf|iƒnÆg||i djoqhd|d<i|idƒj|it|i ƒƒk|id|i titifd ƒt|iƒn>v||i d joGwd |d<xttiƒ|d <y|itiƒz|iƒnà|||i d joâ}d|i } d|d<‚t| ƒ|d <ƒ|i| ƒ„ttiƒƒ} …xvt!i"i#ƒD…]b}†|i%t&i'joF‡||i$jo/ˆ| |i(|i)jo‰|i*ƒnnnq‚WŠ|iƒnç|i+o||i djo‘|idƒ’|iƒ“xèt!i"i#ƒD“]Ô}”|i,oÁ•t-|i.ƒt-fƒjož–|i.\}} —|i1i*ƒ˜|i2ƒ™|| df|_.š|i3\}} ›|i6|| ƒœ|i7ƒ|i8|i.ƒž|i9dƒnnqMWn· |i:i;|ƒdjoƒ¡t i<|i:i=dƒƒ}¢x[|i?D¢]M}£tA|ƒ|jo1¤tB|dƒo¥|iC|||ƒnnqsWn¨|iDdƒ©dSdS(Ns text/htmls Content-TypesmMedusa Status Reports

Medusa Status Reports

Up: %ss
sw

Channel List


s /channel_lists s<
ss /medusa.gifs image/gifsContent-Lengths/close_zombiessa

Closing all zombie http client connections...

Back to the status pages/emergency_debugs"Moving All Servers...i'iiÿÿÿÿis hyper_respondi”(Es split_pathsrequestsurispathsparamssquerysfragmentsselfs hit_counters increments statusdirsstringsjoins english_timeslongstimes START_TIMEsup_timespushsrangeslensobjectssisstatuss medusa_gifswidthsheightsdoneschannel_list_producersdatasmessagesintsnowsasyncores socket_mapskeysschannels __class__s http_servers http_channels creation_timeszombie_timeoutsclosesallow_emergency_debugs acceptingstypesaddrsipsportssockets del_channelsfamily_and_typesfamstyps create_socketsset_reuse_addrsbindslistens hyper_regexsmatchsatoisgroupsoids hyper_objectssobjectsidshasattrs hyper_respondserror(sselfsrequestsup_timesoidsobjectsipsfamsqueryspathsmessagesnowstypsportsisfragmentsparamsschannel((sM/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/status_handler.pyshandle_requestKsz(  ,  *    !       &cs«¬tid|iƒSdS(Ns%

  • Status Extension Hits : %s(s producersssimple_producersselfs hit_counter(sself((sM/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/status_handler.pysstatus«scs2°±||ij o²|ii|ƒndS(N(sobjectsselfs hyper_objectssappend(sselfsobject((sM/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/status_handler.pysregister_hyper_object°s(scounters hit_counters__init__s__repr__smatchshandle_requestsstatussregister_hyper_object(((sM/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/status_handler.pysstatus_extension"s    ` slogger_for_statuscs¶¸d„Z¾d„ZRS(Ncs'¸¹dt|iƒt|ƒfSdS(NsLast %d log entries for: %s(slensselfsmessagess html_repr(sself((sM/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/status_handler.pysstatus¸scsQ¾¿d|d<À|i}Á|iƒÂ|it|ƒƒÃ|iƒdS(Ns text/plains Content-Type(srequestsselfsmessagessreversespushslines_producersdone(sselfsshspathsrequestsmessages((sM/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/status_handler.pys hyper_respond¾s    (sstatuss hyper_respond(((sM/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/status_handler.pyslogger_for_status¶s slines_producercs)ÅÆd„ZÉd„ZÌd„ZRS(NcsÆÇ||_dS(N(slinessself(sselfslines((sM/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/status_handler.pys__init__ÆscsÉÊt|iƒSdS(N(slensselfslines(sself((sM/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/status_handler.pysreadyÉscsYÌÍ|io>Î|id }Ï|id|_Ðti|dƒdSnÒdSdS(Ni2s s(sselfslinesschunksstringsjoin(sselfschunk((sM/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/status_handler.pysmoreÌs  (s__init__sreadysmore(((sM/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/status_handler.pyslines_producerÅs  schannel_list_producercsÔÕd„ZRS(NcscÕÖtd„Øtiiƒƒ}Ú|iƒÛti|Ýddg|dd|gƒdS(Ncs×dt|ƒdd!dS(Ns<iiÿÿÿÿs>(sreprsx(sx((sM/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/status_handler.pys×ss

    Active Channel List

    s
    s
    s!

    Status Report( smapsasyncores socket_mapsvaluess channel_reprsssortslines_producers__init__sselfs statusdir(sselfs statusdirs channel_reprs((sM/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/status_handler.pys__init__Õs    (s__init__(((sM/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/status_handler.pyschannel_list_producerÔscsxçèd|jo%étiti|dƒdƒ}nêd|jo%ëtiti|dƒdƒ}nì|SdS(Nss>(sssstringsjoinssplit(ss((sM/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/status_handler.pyssanitizeçs %%csQîïtt|ƒƒ}ðt|dƒoñdt|ƒ|fSnó|SdS(Ns hyper_responds#%s(ssanitizesreprsobjectssoshasattrsid(sobjectsso((sM/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/status_handler.pys html_reprîsscsEõöt||d„øtd„|ƒƒ}ú|iƒû|SdS(Ncs÷d|||fS(Ns%s%s%s(sfsxsb(sxsfsb((sM/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/status_handler.pys÷scsøtt|ƒƒS(N(ssanitizes html_reprsx(sx((sM/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/status_handler.pysøs(smapsfrontsbackslistsreprsssort(slistsfrontsbacksreprs((sM/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/status_handler.pys html_reprsõs csfg}x9|D].}t||ƒ\}}|i|ƒqW|i|ƒ |SdS(N(sresultspartsspartsdivmodsnsremsappend(snspartsspartsremsresult((sM/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/status_handler.pysprogressive_divides  cs´  t||ƒ}g}xQtt|ƒƒD]:}||o&|i |||||fƒnq4W|i ƒ| o|d|dfgSn|SdS(Ni( sprogressive_dividesnsdividerssdivssresultsrangeslensunitssisappends format_stringsreverse(snsunitssdividerss format_stringsisresultsdivs((sM/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/status_handler.pyssplit_by_units s  *  csDt|dddddfdddddfdƒSdS(NssKsMsGsTis%d %sB(ssplit_by_unitssn(sn((sM/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/status_handler.pys english_bytess csG !t|#ddddddf$dddd d f%d ƒSdS( Nssecssminsshourssdayssweekssyearsi<iii4s%d %s(ssplit_by_unitssn(sn((sM/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/status_handler.pys english_time s (sVERSION_STRINGsstringstimesregexsasyncores http_servers medusa_gifs producersscounterslongs START_TIMEscompiles path_regexs split_pathsstatus_extensionsloggers tail_loggerslogger_for_statusslines_producerschannel_list_producerssanitizes html_reprs html_reprssprogressive_dividessplit_by_unitss english_bytess english_time(s split_pathsasyncoresstrings english_times english_bytesslines_producers producerss html_reprschannel_list_producerslogger_for_statusssplit_by_unitssregexsstatus_extensionsVERSION_STRINGs path_regexs html_reprssprogressive_divides START_TIMEscounters medusa_gifs http_serverstimesloggerssanitize((sM/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/status_handler.pys?s.         ’