~muelnet/heybuddy/pulltimes

« back to all changes in this revision

Viewing changes to heybuddy.py

  • Committer: jezra
  • Date: 2010-11-27 06:05:23 UTC
  • Revision ID: jezra@fatlappy-20101127060523-zdl9d8ii2gpu7o0h
garbage test

Show diffs side-by-side

added added

removed removed

Lines of Context:
15
15
You should have received a copy of the GNU General Public License
16
16
along with heybuddy.    If not, see <http://www.gnu.org/licenses/>.
17
17
'''
 
18
import gc
 
19
gc.enable()
 
20
gc.set_debug(gc.DEBUG_UNCOLLECTABLE)
18
21
import gtk,gobject
19
22
import sys, os
20
23
import gettext
347
350
        def get_statuses(self,count="20"):
348
351
                self.increment_requests()
349
352
                self.comm.get_statuses(count=count, since=highest_id['dent_previous'])
 
353
                print gc.collect()
 
354
                print gc.garbage
 
355
                print gc.collect()
350
356
        
351
357
        def get_mentions(self,count="20"):
352
358
                self.increment_requests()
506
512
                data['markup'] = self.markup_dent_text(data['text'])
507
513
                #add the dent
508
514
                dent = self.connect_dent(data,self.dentspage)
509
 
                self.imagecache.add_image_to_widget(data['profile_image_url'],dent)
510
 
        
 
515
 
511
516
        def process_conversationXML(self,object,text,conversation_id):
512
517
                self.decrement_requests()
513
518
                #is this the current conversation Id? if not, then do nothing
522
527
                        data['in_reply_to_screen_name']=None
523
528
                        #tell the mainWindow to add the dent
524
529
                        dent = self.connect_dent(data,self.contextpage,True, self.options['context_backwards'] )
525
 
                        self.imagecache.add_image_to_widget(data['profile_image_url'],dent)
526
530
                        if data['in_reply_to_id']!=None:
527
531
                                #recursively get in_reply_to_ids
528
532
                                self.get_conversation(id=data['in_reply_to_id'],conversation_id=conversation_id)
529
533
 
530
 
        def connect_dent(self,data,target_page,is_conv=False,conv_backwards=False,is_direct_dent=False,prune=0):
 
534
        def connect_dent(self,data,target_page,is_conv=False,conv_backwards=False,is_direct_dent=False):
531
535
                #make the dent
532
536
                dent = Dent(data,is_direct=is_direct_dent)
533
 
                dent.connect('group-clicked', self.view_group)
534
 
                dent.connect('reply-clicked', self.reply_clicked)
535
 
                dent.connect('direct-clicked', self.direct_clicked)
536
 
                dent.connect('view-conversation-clicked', self.view_conversation)
537
 
                dent.connect('user-clicked', self.view_user)
538
 
                dent.connect('text-label-clicked',self.dent_text_clicked)
539
 
                dent.connect('redent-clicked',self.redent_clicked)
540
 
                dent.connect('favorite-clicked',self.favorite_clicked)
541
 
                dent.connect('unfavorite-clicked',self.unfavorite_clicked)
542
 
                dent.connect('open-link',self.open_link)
543
537
                if target_page.dentScroller.add_dent( dent, is_conv, conv_backwards ):
544
 
                        if prune>0:
545
 
                                target_page.dentScroller.prune(prune)
546
 
                        return dent
 
538
                        dent.connect('group-clicked', self.view_group)
 
539
                        dent.connect('reply-clicked', self.reply_clicked)
 
540
                        dent.connect('direct-clicked', self.direct_clicked)
 
541
                        dent.connect('view-conversation-clicked', self.view_conversation)
 
542
                        dent.connect('user-clicked', self.view_user)
 
543
                        dent.connect('text-label-clicked',self.dent_text_clicked)
 
544
                        dent.connect('redent-clicked',self.redent_clicked)
 
545
                        dent.connect('favorite-clicked',self.favorite_clicked)
 
546
                        dent.connect('unfavorite-clicked',self.unfavorite_clicked)
 
547
                        dent.connect('open-link',self.open_link)
 
548
                        if target_page!=self.userpage:
 
549
                                #get the image for this dent
 
550
                                self.imagecache.add_image_to_widget(data['profile_image_url'],dent)
 
551
                        return True
547
552
                else:
 
553
                        dent.destroy()
 
554
                        del dent
548
555
                        return False
549
556
                        
550
557
        def reply_clicked(self,dent,name):
653
660
                        if not filtered_status:
654
661
                                #get the markup
655
662
                                data['markup'] = self.markup_dent_text(data['text'])
656
 
                                dent = self.connect_dent(data,target_page,is_direct_dent=is_direct,prune=self.initial_dents*3)
657
663
                                #did this dent connect
658
 
                                if dent == False:
 
664
                                if not self.connect_dent(data,target_page,is_direct_dent=is_direct):
659
665
                                        continue
660
 
                                #if not the userpage
661
 
                                if target_page!=self.userpage:
662
 
                                        #get the image for this dent
663
 
                                        self.imagecache.add_image_to_widget(data['profile_image_url'],dent)
 
666
 
664
667
                                #if the target_page = 0 and not first_dents and not is_conf
665
668
                                if target_page==self.dentspage and not self.is_first_dents:
666
669
                                        if "@"+self.conf.name() in data['markup']:                                      
667
 
                                                dent=self.connect_dent(data, self.mentionspage,prune=self.initial_dents*3 )
668
 
                                                self.imagecache.add_image_to_widget(data['profile_image_url'],dent)
 
670
                                                dent=self.connect_dent(data, self.mentionspage )
669
671
                                                reply_count+=1
670
672
                                                if self.options['notify_replies'] and has_pynotify:
671
673
                                                        self.notify.notify_reply(data['screen_name'], data['markup'] )
686
688
                                else:
687
689
                                        if dent_count!=0:
688
690
                                                self.notify.notify_updates(dent_count)
689
 
        
 
691
                #prune off the extra dents
 
692
                target_page.dentScroller.prune(self.initial_dents*2)
 
693
                
690
694
        def process_widget_image(self,comm,data,name):
691
695
                self.imagecache.widget_image_add(data,name)     
692
696