1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Sð    hc@sqddlZddlZddlZdZd„Zd„Zd„Zd„Zd„Ze    dkrmeƒndS(    iÿÿÿÿNs.\HashCheckerResultcCs&tjjtƒr"tjtƒndS(N(tostpathtisdirt
resultPathtshutiltrmtree(((sQ.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\MapServerConfig\HashChecker.pytRMHashCheckerResultsc    Cs’tjƒdd}tjj|ƒs9td|ƒ‚nt|dƒ}g|jƒD]}|jdƒd ^qU}|jƒtjj    t
ƒs tj t
ƒn|sÌtt
ddƒ}|jƒd    GHdS|j d
ƒd }d
}t |ƒ}x?|D]7}ttjƒ||ƒ}|d 7}d ||fGHqøW|s^tt
ddƒ}|jƒd    GHn0tt
ddƒ}|j|dƒ|jdGHdS(Ns\sGeneralProgramme.txtsÎÞ·¨·¢ÏÖ×ܸ٠= %strs    is\OK.txttwsCheck File OK!itisChecking File: %s/%ss    \Diff.txts
sCheck File Faile!(RtgetcwdRtisfilet    Exceptiontopent    readlinestsplittcloseRRtmkdirtpoptlent CheckFilePathtwrite(    tcurPathtfiletlinetdatatwfiletwholeStrtcounttallCounttdataList((sQ.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\MapServerConfig\HashChecker.pyt CheckMD5IsOKs<,
 
 
 
cCs9||dd}tjj|ƒs5||d7}n|S(Nis.txts
(RRtexists(RtcurListRttmpPath((sQ.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\MapServerConfig\HashChecker.pyR[scCs‹||dd}y)t|dƒ}|jƒ}|jƒWn d}nXtj|ƒjƒ}|d}||kr‡||d7}n|S(Nis.txttrbtFKis
(R treadRtmd5t    hexdigest(RR!RR"trfilettxtStrtmd5Srctmd5Dst((sQ.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\MapServerConfig\HashChecker.pyt
compareMD5ds 
 
 cCsdGHtƒtƒdS(NsCheck Config File...(RR(((sQ.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\MapServerConfig\HashChecker.pytmainwst__main__(
R&RRRRRRR,R-t__name__(((sQ.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\MapServerConfig\HashChecker.pyt<module>    s           G