[ create a new paste ] login | about

Project: alcari
Link: http://alcari.codepad.org/6J4CI9Fk    [ raw code | fork ]

Python, pasted on Apr 1:
1
(globals().update({'imp':lambda n:(globals().update({n:__import__(n)})if n not in globals()else None,globals()[n])[1],'text':lambda t:t.get_text(),'s':globals().update,}),imp('pygtk').require('2.0'),imp('gtk'),imp('gobject'),imp('socket'),imp('time'),s({'short':lambda self:(self.__dict__.update({'s':new.instancemethod(lambda self,x:self.__dict__.update(x),self,self),'p':new.instancemethod(lambda self,*args:(len(args)and self.__stack.append(args if len(args)>1 else args[0]),None and len(args)and p())[1],self,self),'g':new.instancemethod(lambda self,n=-1:self.__stack[n],self,self),'u':new.instancemethod(lambda self:self.__stack.pop(),self,self),'__stack':list(),}),),}),s({'Tab':imp('new').classobj('Tab',(),{'autoscroll':lambda self,msg:(False,(self.adj.set_value(self.adj.upper-self.adj.page_size),)if self.auto else False,)[0],'handlemsg':lambda self,cmd:(self.s({'auto':True})if self.adj.value ==self.adj.upper-self.adj.page_size else self.s({'auto':False}),self.__handlemsg(cmd),),'tobuf':lambda self,text:self.textbuffer.insert(self.textbuffer.get_end_iter(),time.strftime('[%H:%M:%S]')+text),'__init__':lambda self,parent,say:(None,short(self),self.s({'parent':parent,'say':say,'auto':True,'lbox':gtk.VBox(),'scroll':gtk.ScrolledWindow(),'textbuffer':gtk.TextBuffer(),'text':gtk.TextView(),'sep':gtk.HSeparator(),'inputbox':TabCompletion(self.get_completion),}),self.s({'adj':self.scroll.get_vscrollbar().get_adjustment()}),self.text.set_buffer(self.textbuffer),self.text.set_editable(False),self.text.set_wrap_mode(gtk.WRAP_WORD),self.scroll.set_policy(gtk.POLICY_AUTOMATIC,gtk.POLICY_ALWAYS),self.parent.pack_start(self.lbox),self.scroll.add(self.text),self.scroll.get_vscrollbar().get_adjustment().connect('changed',self.autoscroll),self.lbox.pack_start(self.scroll),self.lbox.pack_start(self.sep,False),self.lbox.pack_end(self.inputbox,False),)[0],'show':lambda self:(self.lbox.show(),self.text.show(),self.sep.show(),self.inputbox.show(),self.scroll.show(),self.parent.show(),),})}),s({'MOD_MASK':(gtk.gdk.CONTROL_MASK|gtk.gdk.MOD1_MASK|gtk.gdk.MOD4_MASK|gtk.gdk.SHIFT_MASK ),'KEY_TAB':gtk.keysyms.Tab,}),s({'TabCompletion':new.classobj('TabCompletion',(gtk.Entry,),{'__init__':lambda self,completion_getter:(None,gtk.Entry.__init__(self),short(self),self.s({'completion_getter':completion_getter,'completed':False,'completion':gtk.EntryCompletion(),}),self.completion.set_model(None),self.completion.set_inline_selection(True),self.set_completion(self.completion),self.completion.set_minimum_key_length(1),self.completion.set_text_column(0),self.connect('changed',self.content_changed_cb),self.connect('key-press-event',self.entry_keypress_cb),self.completion.connect('match-selected',self.match_cb),)[0],'content_changed_cb':lambda self,widget:self.s({'completed':False}),'entry_keypress_cb':lambda self,widget,event:(self.s({'prefix':self.get_text()}),(True,self.s({'liststore':self.completion_getter(self.prefix)}),self.s({'completed':True})if len(self.liststore)==0 else None,(self.set_text(self.liststore[0][0]),self.set_position(-1),self.s({'completed':True}),)if len(self.liststore)==1 else(self.completion.set_model(self.liststore),self.completion.complete(),gtk.main_do_event(gtk.gdk.Event(gtk.gdk.KEY_PRESS))),)[0]if (event.keyval ==KEY_TAB and not event.state & MOD_MASK and (self.prefix and not self.get_selection_bounds()and self.get_position()==len(self.prefix)and not self.completed))else (False,self.completion.set_model(None))[0],)[1],'match_cb':lambda self,completion,model,iter:(None,self.s({'completed':True}),completion.set_model(None),)[0],}),'PrivateMessage':new.classobj('PrivateMessage',(Tab,),{'get_completion':lambda self,prefix:(self.s({'tu':gtk.ListStore(str)}),self.tu)[2],'__handlemsg':lambda self,cmd:((self.tobuf(('<'+'> '.join(cmd.split(' ',2)[1:]))+'\n'),)if cmd.startswith('SAIDPRIVATE ')else None,(self.tobuf(('<'+'> '.join([self.uname]+cmd.split(' ',2)[2:]))+'\n'),)if cmd.startswith('SAYPRIVATE ')else None,),'__init__':lambda self,user,parent,say,uname:(None,Tab.__init__(self,parent,say),self.show(),self.s({'user':user,'uname':uname,}),self.inputbox.connect('activate',self.say,self.user),)[0],})}),s({'Chat':new.classobj('Chat',(Tab,),{'get_completion':lambda self,prefix:(self.s({'tu':gtk.ListStore(str)}),[self.tu.append([s[0]])for s in self.users if prefix.lower()in s[0].lower()],self.tu)[2],'delname':lambda self,name:(self.users.remove([x for x in self.users if x[0]==name][0].iter)),'__handlemsg':lambda self,cmd:((self.tobuf(('<'+'> '.join(cmd[6+len(self.chan):].split(' ',1))if not cmd.startswith('SAIDEX')else '* '+cmd[7+len(self.chan):])+'\n' ),)if cmd.startswith('SAID')else None,([self.users.append((u,self.userdict[u]))for u in cmd.split()[2:]],)if cmd.startswith('CLIENTS ')else None,(self.users.append((cmd.split()[2],self.userdict[cmd.split()[2]])),self.tobuf('** %s joined the channel.\n'%cmd.split()[2]),)if cmd.startswith('JOINED ')else None,(self.delname(cmd.split()[2]),self.tobuf('** %s left the channel(%s).\n'%(cmd.split()[2],cmd.split(' ',3)[-1])),)if cmd.startswith('LEFT ')else None,(self.tobuf('Topic for %s:%s\n Set by %s on %s.\n'%(cmd.split()[1],cmd.split(' ',4)[4],cmd.split(' ',4)[2],time.ctime(float(cmd.split(' ',4)[3][:-3])))),)if cmd.startswith('CHANNELTOPIC ')else None,),'__init__':lambda self,chan,parent,say,userdict:(None,Tab.__init__(self,parent,say),self.s({'chan':chan,'userdict':userdict,'users':gtk.ListStore(str,str),'vsep':gtk.VSeparator(),'rbox':gtk.VBox(),'uscroll':gtk.ScrolledWindow(),'namecol':gtk.TreeViewColumn('Name'),'ctrycol':gtk.TreeViewColumn('Country'),'cell':gtk.CellRendererText(),}),self.s({'userlist':gtk.TreeView(self.users),}),self.s({'adj':self.scroll.get_vscrollbar().get_adjustment()}),self.inputbox.connect('activate',self.say,self.chan),self.parent.pack_start(self.vsep,False),self.parent.pack_start(self.rbox,True),self.uscroll.add(self.userlist),self.rbox.pack_start(self.uscroll),self.uscroll.show(),self.rbox.show(),self.uscroll.set_policy(gtk.POLICY_AUTOMATIC,gtk.POLICY_ALWAYS),self.vsep.show(),self.namecol.pack_start(self.cell,True),self.namecol.add_attribute(self.cell,'text',0),self.ctrycol.pack_start(self.cell,True),self.ctrycol.add_attribute(self.cell,'text',1),self.users.set_sort_column_id(0,gtk.SORT_ASCENDING),self.userlist.append_column(self.namecol),self.userlist.append_column(self.ctrycol),self.userlist.set_search_column(0),self.userlist.show(),self.show(),)[0],}),'lmao':new.classobj('AlcariLobby',(),{'set':lambda self,x:self.__dict__.update(x),'delevt':lambda self,*a:(False,gobject.source_remove(self.pingid),gobject.source_remove(self.recvid),self.sock.shutdown(socket.SHUT_WR),gtk.main_quit(),),'__init__':lambda self:(None,short(self),self.s({'info':gtk.Dialog('User Info',None,gtk.DIALOG_MODAL,(gtk.STOCK_CANCEL,gtk.RESPONSE_REJECT,gtk.STOCK_OK,gtk.RESPONSE_ACCEPT)),'server':gtk.Entry(),'port':gtk.Entry(),'uname':gtk.Entry(),'pw':gtk.Entry(),'chan':gtk.Entry(),}),self.server.set_text('taspringmaster.clan-sy.com'),self.port.set_text('8200'),self.uname.set_text('b_'),self.chan.set_text('bots'),self.info.vbox.add(self.server),self.info.vbox.add(self.port),self.info.vbox.add(self.uname),self.info.vbox.add(self.pw),self.info.vbox.add(self.chan),self.server.show(),self.port.show(),self.uname.show(),self.pw.show(),self.chan.show(),quit()if self.info.run()==gtk.RESPONSE_REJECT else None,self.info.destroy(),self.s({'pingid':gobject.timeout_add(20000,self.ping),'userdict':{},'chan':self.chan.get_text(),'buf':'','window':gtk.Window(gtk.WINDOW_TOPLEVEL),'tabs':gtk.Notebook(),'channels':{},'PMs':{},}),socket.__dict__.update({'error':self.connect}),self.connect(),self.s({'recvid':gobject.io_add_watch(self.sockfile,gobject.IO_IN,self.recv)}),self.tabs.set_tab_pos(gtk.POS_TOP),self.tabs.show(),self.join(self.chan),self.window.add(self.tabs),self.window.set_default_size(800,600),self.window.connect('delete_event',self.delevt),self.window.show(),)[0],'join':lambda self,chan:(self.sock.send('JOIN %s\n'%chan),self.s({'f':gtk.HBox(),'b':gtk.Button('x'),'b2':gtk.HBox(),'l':gtk.Label(chan)}),self.b2.add(self.l),self.b2.add(self.b),self.l.show(),self.b.show(),self.b2.show(),self.tabs.append_page(self.f,self.b2),self.channels.update({chan:Chat(chan,self.f,self.say,self.userdict)}),self.b.connect('clicked',lambda w:(self.tabs.remove_page(self.tabs.page_num(self.channels[chan].parent)),self.channels.__delitem__(chan),self.sock.send('LEAVE %s\n'%chan))),),'pm':lambda self,user,msg:((self.s({'f':gtk.HBox(),'b':gtk.Button('x'),'b2':gtk.HBox(),'l':gtk.Label(user)}),self.b2.add(self.l),self.b2.add(self.b),self.l.show(),self.b.show(),self.b2.show(),self.tabs.append_page(self.f,self.b2),self.PMs.update({user:PrivateMessage(user,self.f,self.sayp,self.uname.get_text())}),self.b.connect('clicked',lambda w:(self.tabs.remove_page(self.tabs.page_num(self.PMs[user].parent)),self.PMs.__delitem__(user))),)if user not in self.PMs else None,self.PMs[user].handlemsg(msg),),'connect':lambda self:(self.s({'sock':socket.create_connection((self.server.get_text(),int(self.port.get_text()))),}),self.sock.send('login %s %s 1000 * it\n'%(text(self.uname),imp('base64').b64encode(imp('hashlib').md5(text(self.pw)).digest()))),self.s({'sockfile':self.sock.makefile(),})),'ping':lambda self:(True,self.sock.send('PING\n'))[0],'say':lambda self,t,chan:(True,(self.join(text(t).split()[1].lstrip('#')))if text(t).startswith('/j ')else (self.sock.send('SAY%s %s %s\n'%(('EX',chan,text(t)[4:])if text(t).startswith('/me')else ('',chan,text(t)))),),t.set_text(''),)[0],'sayp':lambda self,t,user:(self.sock.send('SAYPRIVATE %s %s\n'%(user,text(t))),t.set_text(''),)[0],'recv':lambda self,f=None,c=None:(self.s({'buf':self.buf+self.sock.recv(128)}),[((self.channels[cmd.split()[1]].handlemsg(cmd),)if(cmd.startswith('SAID ')or cmd.startswith('CLIENTS ')or cmd.startswith('JOINED ')or  cmd.startswith('LEFT ')or  cmd.startswith('CHANNELTOPIC '))else None,(self.pm(cmd.split()[1],cmd),)if cmd.startswith('SAIDPRIVATE ')or cmd.startswith('SAYPRIVATE ')else None,(self.userdict.update({cmd.split()[1]:cmd.split()[2]}),)if cmd.startswith('ADDUSER ')else None,(self.userdict.__delitem__(cmd.split()[1]),)if cmd.startswith('REMOVEUSER ')else None,)for cmd in self.buf.split('\n')[:-1]],self.s({'buf':self.buf.split('\n')[-1]})),})}),lmao(),gtk.main())


Create a new paste based on this one


Comments: