Implemented user name caching, so we can efficiently pull data for Direct Messages and Searches
This commit is contained in:
@ -2,7 +2,7 @@ import re
|
||||
import datetime, dateutil.tz
|
||||
import gtk, gobject
|
||||
from threading import RLock
|
||||
from avcache import AvCache
|
||||
from usercache import AvCache,NameCache
|
||||
import webbrowser
|
||||
|
||||
|
||||
@ -377,11 +377,18 @@ class TweetBox(gtk.HBox):
|
||||
if not self.is_user:
|
||||
try:
|
||||
with AvCache().lock:
|
||||
self.avatar.set_from_pixbuf(AvCache().map[status.user.screen_name])
|
||||
image = AvCache().map[status.user.screen_name]
|
||||
self.avatar.set_from_pixbuf(image)
|
||||
self.avatar.show()
|
||||
except KeyError:
|
||||
self.avatar.hide()
|
||||
|
||||
|
||||
try:
|
||||
with NameCache().lock:
|
||||
name = NameCache().map[status.user.screen_name]
|
||||
except KeyError:
|
||||
name = status.user.name
|
||||
|
||||
self.set_read(read)
|
||||
|
||||
timezone = dateutil.tz.gettz()
|
||||
@ -424,7 +431,7 @@ class TweetBox(gtk.HBox):
|
||||
if self.is_user:
|
||||
self.user_button.set_label('')
|
||||
else:
|
||||
self.user_button.set_label(user.name + " (" + user.screen_name + ") ")
|
||||
self.user_button.set_label(name + " (" + user.screen_name + ") ")
|
||||
|
||||
# and the text
|
||||
new_text = status.text
|
||||
@ -591,15 +598,24 @@ class UserBox(gtk.VBox):
|
||||
|
||||
def update_info(self, user):
|
||||
self.user_name = user.screen_name
|
||||
self.name_label.set_text(user.name + ' (' + self.user_name + ')')
|
||||
name = ''
|
||||
|
||||
try:
|
||||
with AvCache().lock:
|
||||
self.avatar.set_from_pixbuf(AvCache().map[user.screen_name])
|
||||
image = AvCache().map[user.screen_name]
|
||||
self.avatar.set_from_pixbuf(image)
|
||||
self.avatar.show()
|
||||
except KeyError:
|
||||
self.avatar.hide()
|
||||
|
||||
try:
|
||||
with NameCache().lock:
|
||||
name = NameCache().map[user.screen_name]
|
||||
except KeyError:
|
||||
name = user.name
|
||||
|
||||
self.name_label.set_text(name + ' (' + self.user_name + ')')
|
||||
|
||||
with self.data_lock:
|
||||
self.verified = user.verified
|
||||
if self.verified:
|
||||
|
Reference in New Issue
Block a user