;ò 4ÓBc@sdkZdkZdkZdklZlZlZdklZl Z l Z l Z l Z l Z eiieiieƒƒdZeiidƒoedƒiƒZn5eeiieiieƒdddƒƒiƒZdeifd„ƒYZd „ZdS( N(sinevowsloadersslivepage(ssetsassignsappendsjssdocumentseolis/usr/share/dict/wordssfilesswordssChatolacBsªtZeZeieiie dƒƒZ e i e ƒi dƒZe i e ƒi dƒZdZd„Zd„Zd„Zd„Zd „Zd „Zd „Zd „ZRS( Ns Chatola.htmlsmessagesusersWelcome to ChatolacCs`g|_g|_|ittd|iƒttt i ii |iƒtƒt i i|ƒdS(Nstopic(sselfsclientsseventss sendEventsNonessetstopicseolsassignsdocuments topicFormsvalueslivepagesLivePages__init__(sself((sM/mnt/gmirror/ports/www/py-nevow/work/Nevow-0.9.18/examples/chatola/chatola.pys__init__s    cCsê|iƒi|i|ƒtitƒiƒ|_ |i t t i ii|i ƒƒtd|iid|i ƒƒtf}|i|||i|dƒƒ|i gi}|iD]\}}||tfƒq°~ƒ|ii|ƒdS(Nsuserlistsuser-ids has joined.(sclients notifyOnClosesaddBothsselfsuserLeftsrandomschoicesWORDSsstripsuserIdssendsassignsdocumentsnickFormsnicksvaluesappends userPatterns fillSlotsseolsaddUserlistEntrys sendEventscontents_[1]seventsssourceseventsclients(sselfsctxsclientseventsaddUserlistEntrys_[1]ssource((sM/mnt/gmirror/ports/www/py-nevow/work/Nevow-0.9.18/examples/chatola/chatola.pys goingLive(s"'=cCsI|ii|ƒ|i|tid|ifƒt|i |dƒƒdS(Ns user-list-%ss has left.( sselfsclientssremovesclients sendEventsjss removeNodesuserIdseolscontent(sselfs_sclient((sM/mnt/gmirror/ports/www/py-nevow/work/Nevow-0.9.18/examples/chatola/chatola.pysuserLeft8s cGsP|ii||fƒx/|iD]$}||j o|i|ƒq q W|SdS(N(sselfseventssappendssourceseventsclientsstargetssend(sselfssourceseventstarget((sM/mnt/gmirror/ports/www/py-nevow/work/Nevow-0.9.18/examples/chatola/chatola.pys sendEvent?s   cCsStd|iidtidƒƒid|iƒid|ƒƒt t i ƒfSdS(Nscontents timestamps%H:%M %d/%m/%ysuseridsmessage( sappendsselfsmessagePatterns fillSlotsstimesstrftimessendersuserIdsmessageseolsjss scrollDown(sselfssendersmessage((sM/mnt/gmirror/ports/www/py-nevow/work/Nevow-0.9.18/examples/chatola/chatola.pyscontentFscCs>ti|ƒ}|i||i||ƒƒtt i ƒfSdS(N( slivepages IClientHandlesctxssendersselfs sendEventscontents inputLineseolsjss focusInput(sselfsctxs inputLinessender((sM/mnt/gmirror/ports/www/py-nevow/work/Nevow-0.9.18/examples/chatola/chatola.pyshandle_sendInputPsc Cs]ti|ƒ}|i|td|ƒtt t i ii |ƒt|i |d|fƒƒSdS(Nstopicschanged the topic to %r.(slivepages IClientHandlesctxschangersselfs sendEventssetstopicseolsassignsdocuments topicFormsvaluescontent(sselfsctxstopicschanger((sM/mnt/gmirror/ports/www/py-nevow/work/Nevow-0.9.18/examples/chatola/chatola.pyshandle_changeTopicTs  c Csti|ƒ}|i|td|if|ƒt t i d|ifd|fƒt |i |d|fƒƒ}||_|SdS(Ns user-list-%sschanged nick to %r.(slivepages IClientHandlesctxschangersselfs sendEventssetsuserIdsnickseolsjsschangeIdscontentsrv(sselfsctxsnicksrvschanger((sM/mnt/gmirror/ports/www/py-nevow/work/Nevow-0.9.18/examples/chatola/chatola.pyshandle_changeNick\s # (s__name__s __module__sTruesaddSlashsloaderssxmlfilesosspathsjoins chatolaDirs docFactorysinevowsIQspatternGeneratorsmessagePatterns userPatternstopics__init__s goingLivesuserLefts sendEventscontentshandle_sendInputshandle_changeTopicshandle_changeNick(((sM/mnt/gmirror/ports/www/py-nevow/work/Nevow-0.9.18/examples/chatola/chatola.pysChatolas     cCs tƒSdS(N(sChatola(((sM/mnt/gmirror/ports/www/py-nevow/work/Nevow-0.9.18/examples/chatola/chatola.pyscreateResourcehs(sossrandomstimesnevowsinevowsloadersslivepagesnevow.livepagessetsassignsappendsjssdocumentseolspathssplitsabspaths__file__s chatolaDirsexistssopens readlinessWORDSsjoinsLivePagesChatolascreateResource(slivepagesinevowscreateResourceseolsdocumentsrandoms chatolaDirsloaderssChatolassetsWORDSstimesjssossassignsappend((sM/mnt/gmirror/ports/www/py-nevow/work/Nevow-0.9.18/examples/chatola/chatola.pys?s+"Q