1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Sð    hc@s×dZddlZddlZddlZddlZdZdegedƒD]Zdej    ƒe^qOƒZ
ej ƒdZ dZ d    Zd
Zd Zd Zd „Zeddej ƒƒd„Zd„ZdS(sVersion = 2010-11-03 10:00iÿÿÿÿNtReportAnalyzerslog%s%s%s%s%s%s.txtis%02ds\log\s _Report.txts!t_s ²âÊÔ±¨¸æMD5s    PyÎļþMD5cGsdtgtdƒD]}dtjƒ|^qƒ}xStdt|ƒƒD]<}||}|dtt|ƒƒdt|ƒd7}qMWtjj    t
ƒs¯tj t
ƒntjj t
t ƒrÛtt
t dƒ}ntt
t d    ƒ}|jd
t|d ƒ|d ƒ|jƒdS( Ns[%s%s%s%s%s%s]is%02dis( s:s ),tatws    is
(ttupletrangettimet    localtimetlentstrttypetostpathtisdirtLOG_PATHtmkdirtisfiletNOW_TIMEtopentfiletwritetinttclose(tvarlisttitinfotcurValuetlogfile((sK.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\ReportAnalyzer.pytLogEx.s7
0#is
CurPath=%scCsŽg}x|D]y}|j|ƒ}|dkrR|jdƒtdd|ƒq n||}|j||jdƒd|jdƒ!ƒq W|S(Niÿÿÿÿtiskey = %s: Key Erorr!s[is](tfindtappendR(tkeyListtlinet    valueListtkeytkeyPos((sK.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\ReportAnalyzer.pyt GetValueByKeyGs   
.c# Cs^|jtƒsH|jdƒ r3|jdƒ r3dStdd|ƒdS||jdƒd}|jtƒ}|dkrŒ|jtƒ}n|| }tdg|dƒd}tj    ||d    t
ƒ}g}g}    t ||jd
ƒ ƒ}
t ||jd
ƒdƒ} d    } d    } d    }d}d}d}d    }d    }g}d}yòxët dt|ƒƒD]Ô}||d ||<||}|jtƒr¬td g|ƒd}q_n|jtƒrƒ| rntj| | ||||||ƒ}|j|ƒ|dd |d<td g|ƒd}|tj||d |ƒkrOtdd |ƒdS|j||
| ||    |ƒntdd |ƒPn|jd(ƒdks­|jd)ƒdkrw| rçtj| | ||||||ƒ}|j|ƒnd}g}|jd*ƒdkr.||jdƒd|jdƒ!} nd    } ||jdƒd|jdƒ!} ||djdƒ}|dkrŽt||dƒp‘|}td g||dƒd}||d|d }||jdƒdkrþ||cd7<||}nxRt |dt|ƒƒD]7}|jd,ƒdkr7Pn|||7}|d7}qWtddddg|ƒ}t |d|djd
ƒ ƒ}t |d|djd
ƒdƒ}t |d|djdƒ ƒ}t |d|djdƒdƒ}|d|djdƒd|djdƒ!}|d krB|d!}q_|d"krWd}q_td#||d!fƒ}q_n|dkr´|dkr¤||d||<n|d8}q_nt|jƒƒdkr_|jƒjd$ƒ r_|jƒjd ƒ r_t ||jdƒd|jdƒ!ƒ} |jd%ƒr9d}!nd}!||jdƒd!}x.t t|    ƒ| dƒD]}|    jdƒqpW|    j|dƒ| |}"|jƒjd&ƒsÆtj|ƒrþ|j| |"d!||||jdƒd!gƒq_n|j| |"|!||||jdƒd!gƒq_q_WWntdd'tjƒƒdSX|S(-Ns.pys.PYisfileName = %s: FileName Erorr!s\iiÿÿÿÿtstateRs/tMD5sfileName = %s: MD5 Erorr!sfileName = %s: No Code!s]:s <s:<s[s]s<s>sMD5:[iR
s
s]  s:[Rt returnValues:is'R    itNoneTypes %s('''%s''')s##s*s#s    Error--%ss]: <s]::<s]::<s]  types    ]  type:[(tendswitht
FileEndStrRRtrfindtFileNameConnectortReportConnectorR%t
PyTrackObjtGetPyObjtFalseRtNoneRRt
startswithtPyMDVConnectortReportMDVConnectort
GetFuncObjRt CalcListMD5t    SetPyInfotevaltstriptIsLineNeedIgnoret    tracebackt
format_exc(#tfileNamet contentListtMD5KeyttNamet
connectPostpyNameR&tpyObjt funcObjListt
pyCodeListt pyExecCountt pyTotalCountt    classNametfuncNamet funcCommentt
startIndextendIndexR(tfuncMD5t    reportMD5t rowInfoListtiCountRR!tpyMD5tfuncObjt
funcMD5PostjR"t execRowCountt totalRowCounttreturnValueTypetrowIndextrowStatetoffset((sK.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\ReportAnalyzer.pyR_sР 
 
  *&#&  !%!%/         
D)     
$2=(t__doc__R RR<R/t    FORM_NAMERRRRRtgetcwdRR+R-R.R5R4RR%R(((sK.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\ReportAnalyzer.pyt<module>s     7