ó V Qc@skdZddlZddlZddlZddlZddlZejZd„Zddd„ƒYZdS(s0Wiki main program. Imported and run by cgi3.py.iÿÿÿÿNcCsotjƒ}dGHH|jddƒ}|jddƒ}t|ƒ}t|d|dƒp^|j}||ƒdS(NsContent-type: text/htmltcmdtviewtpaget FrontPagetcmd_(tcgit FieldStoragetgetvaluetWikiPagetgetattrtNonetcmd_view(tformRRtwikitmethod((s%/usr/lib64/python2.7/Demo/cgi/wiki.pytmains  RcBsŸeZejƒZejjej dƒZ d„Z d„Z d„Z dd„Zd„Zd„Zd„Zd „Zdd „Zd „Zd „Zd „ZRS(icCs2|j|ƒstd‚n||_|jƒdS(Nspage name is not a wiki word(t iswikiwordt ValueErrortnametload(tselfR((s%/usr/lib64/python2.7/Demo/cgi/wiki.pyt__init__s  cCs¦dGt|j|jƒƒGdGHdGHx?|jjƒD].}|jƒ}|sTdGHq4|j|ƒGHq4WdGHdG|jd|jdƒdGH|jdd d ƒd GHdS( Ns

s

s

s


teditsEdit this paget;RRsgo to front paget.(tescapet splitwikiwordRtdatat splitlinestrstript formatlinetmklink(RR tline((s%/usr/lib64/python2.7/Demo/cgi/wiki.pyR s cCs§g}x‘tjd|ƒD]}}|j|ƒr}tjj|j|ƒƒra|jd||ƒ}q‰|jd||dƒ}n t|ƒ}|j |ƒqWdj |ƒS(Ns(\W+)Rtnewt*t( tretsplitRtostpathtisfiletmkfileRRtappendtjoin(RR twordstword((s%/usr/lib64/python2.7/Demo/cgi/wiki.pyR(s tChangecCsZdG|G|jGdGHd|jGHd}||jGHdGHd|jGHdGHd|GHd GHdS( Ns

s

s
s7s/s,s
s%s
(Rt scripturlR(RR tlabelts((s%/usr/lib64/python2.7/Demo/cgi/wiki.pytcmd_edit5s    cCs—|jddƒjƒ|_|jƒ}|rIdGHdGHdGt|ƒGHnJdGHd}||jd|jGHdGHd GHd G|jd |j|jƒGHdS( NttextR#s%

I'm sorry. That didn't work

s8

An error occurred while attempting to write the file:s

ss/s?cmd=view&page=s

OK

s)

If nothing happens, please click here:R(RtstripRtstoreRR/RR(RR terrorR1((s%/usr/lib64/python2.7/Demo/cgi/wiki.pyt cmd_create@s cCs|j|ddƒdS(NR0tCreate(R2(RR ((s%/usr/lib64/python2.7/Demo/cgi/wiki.pytcmd_newQscCstjd|ƒS(Ns[A-Z][a-z]+([A-Z][a-z]*)+(R$tmatch(RR-((s%/usr/lib64/python2.7/Demo/cgi/wiki.pyRTscCsSg}x=|D]5}|r5|jƒr5|jdƒn|j|ƒq Wdj|ƒS(Nt R#(tisupperR*R+(RR-tcharstc((s%/usr/lib64/python2.7/Demo/cgi/wiki.pyRWs  cCs2|dkr|j}ntjj|j|dƒS(Ns.txt(R RR&R'R+thomedir(RR((s%/usr/lib64/python2.7/Demo/cgi/wiki.pyR)_s  cCs'|jd|d|}d||fS(Ns?cmd=s&page=s%s(R/(RRRR3tlink((s%/usr/lib64/python2.7/Demo/cgi/wiki.pyRdscCsYy2t|jƒƒ}|jƒjƒ}|jƒWntk rKd}nX||_dS(NR#(topenR)treadR4tclosetIOErrorR(RtfR((s%/usr/lib64/python2.7/Demo/cgi/wiki.pyRhs  cCsˆ|j}yZt|jƒdƒ}|j|ƒ|rT|jdƒ rT|jdƒn|jƒdSWntk rƒ}dt|ƒSXdS(Ntws R#s IOError: %s(RRAR)twritetendswithRCRDtstr(RRREterr((s%/usr/lib64/python2.7/Demo/cgi/wiki.pyR5qs   N(t__name__t __module__ttempfilet gettempdirR?R&R'tbasenametsystargvR/RR RR2R7R9RRR R)RRR5(((s%/usr/lib64/python2.7/Demo/cgi/wiki.pyRs         (( t__doc__R&R$RRPRMRRR(((s%/usr/lib64/python2.7/Demo/cgi/wiki.pyts<