46
46
self.account = client.account
47
47
self.protocol = client.account["protocol"]
48
48
self.username = client.account["username"]
49
self.sender = data["user"]["name"]
50
self.sender_nick = data["user"]["screen_name"]
51
self.sender_id = data["user"]["id"]
52
self.reply_nick = data["in_reply_to_screen_name"]
53
self.reply_url = "https://twitter.com/%s/statuses/%s" % (data["in_reply_to_screen_name"], data["in_reply_to_status_id"])
56
self.reply_nick = None
59
self.sender = user["name"]
60
self.sender_nick = user["screen_name"]
61
self.sender_id = user["id"]
52
62
self.time = support.parse_time(data["created_at"])
53
63
self.text = data["text"]
54
self.image = data["user"]["profile_image_url"]
64
self.image = user["profile_image_url"]
55
65
self.bgcolor = "message_color"
56
self.url = "https://twitter.com/%s/statuses/%s" % (data["user"]["screen_name"], data["id"])
57
self.profile_url = "https://twitter.com/%s" % data["user"]["screen_name"]
58
self.reply_nick = data["in_reply_to_screen_name"]
59
self.reply_url = "https://twitter.com/%s/statuses/%s" % (data["in_reply_to_screen_name"], data["in_reply_to_status_id"])
66
self.url = "https://twitter.com/%s/statuses/%s" % (user["screen_name"], data["id"])
67
self.profile_url = "https://twitter.com/%s" % user["screen_name"]
60
69
self.html_string = '<span class="text">%s</span>' % \
61
70
HASH_PARSE.sub('#<a class="inlinehash" href="gwibber:tag/\\1">\\1</a>',
62
71
NICK_PARSE.sub('@<a class="inlinenick" href="https://twitter.com/\\1">\\1</a>',
63
72
support.linkify(self.text)))
64
73
self.is_reply = re.compile("@%s[\W]+|@%s$" % (self.username, self.username)).search(self.text)
74
self.is_private = False
66
76
class SearchResult:
67
77
def __init__(self, client, data, query = None):
121
131
"https://twitter.com/statuses/replies.json",
122
132
urllib.urlencode({"count": self.account["receive_count"] or "20"})))
134
def get_direct_messages(self):
135
return simplejson.loads(self.connect(
136
"https://twitter.com/direct_messages.json"))
124
138
def get_search_data(self, query):
125
139
return simplejson.loads(urllib2.urlopen(
126
140
urllib2.Request("http://search.twitter.com/search.json",
144
158
for data in self.get_replies():
145
159
yield Message(self, data)
161
for data in self.get_direct_messages():
162
m = Message(self, data)
147
166
def receive(self):
148
167
for data in self.get_messages():
149
168
yield Message(self, data)