Changeset 688
- Timestamp:
- 06/16/08 15:35:22 (6 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
oss/headstock/headstock/example/microblog/microblog/jabber/atomhandler.py
r678 r688 14 14 "signal" : "Shutdown signal"} 15 15 16 def __init__(self ):16 def __init__(self, use_etags=True): 17 17 super(FeedReaderComponent, self).__init__() 18 18 self.last = None 19 self.use_etags = use_etags 19 20 20 21 def main(self): … … 30 31 if self.dataReady("inbox"): 31 32 url = self.recv("inbox") 32 if self. last:33 if self.use_etags and self.last and self.last.etag: 33 34 d = feedparser.parse(url, etag=self.last.etag) 34 35 else: … … 37 38 if d: 38 39 self.last = d 39 if d.bozo == 0 and d.status!= 304:40 if d.bozo == 0 and getattr(d, 'status', 200) != 304: 40 41 self.send(d, "outbox") 41 42 oss/headstock/headstock/example/microblog/microblog/jabber/client.py
r678 r688 506 506 @staticmethod 507 507 def connect_jabber_user(atompub, username, password, profile): 508 c = Client(atompub, unicode(username), unicode(password),509 domain=Client.Domain, server=Client.Host, port=Client.Port,510 usetls=True, register=False, profile=profile)511 Client.Sessions[c.username] = c512 c.activate()508 #c = Client(atompub, unicode(username), unicode(password), 509 # domain=Client.Domain, server=Client.Host, port=Client.Port, 510 # usetls=True, register=False, profile=profile) 511 #Client.Sessions[c.username] = c 512 #c.activate() 513 513 514 514 username = unicode('%s.microblogging' % username) oss/headstock/headstock/example/microblog/microblog/jabber/pubsub.py
r683 r688 23 23 24 24 from microblog.atompub.resource import ResourceWrapper 25 from microblog.jabber.atomhandler import FeedReaderComponent 25 26 26 27 __all__ = ['DiscoHandler', 'ItemsHandler', 'MessageHandler'] … … 234 235 "control" : "", 235 236 "xmpp.result": "", 236 "jid" : "",} 237 "jid" : "", 238 "_feedresponse": "", 239 "_delresponse": ""} 237 240 238 241 Outboxes = {"outbox" : "", … … 240 243 "delete" : "", 241 244 "purge" : "", 242 "signal" : "Shutdown signal",} 245 "signal" : "Shutdown signal", 246 "_feedrequest": "", 247 "_delrequest": ""} 243 248 244 249 def __init__(self, from_jid, atompub, host='localhost', session_id=None, profile=None): … … 259 264 self.addChildren(sub) 260 265 sub.activate() 266 267 feedreader = FeedReaderComponent(use_etags=False) 268 self.addChildren(feedreader) 269 feedreader.activate() 270 271 client = SimpleHTTPClient() 272 self.addChildren(client) 273 self.link((self, '_feedrequest'), (client, 'inbox')) 274 self.link((client, 'outbox'), (feedreader, 'inbox')) 275 self.link((feedreader, 'outbox'), (self, '_feedresponse')) 276 client.activate() 277 278 client = SimpleHTTPClient() 279 self.addChildren(client) 280 self.link((self, '_delrequest'), (client, 'inbox')) 281 self.link((client, 'outbox'), (self, '_delresponse')) 282 client.activate() 261 283 262 284 return 1 … … 294 316 if m: 295 317 node, message = m.groups() 296 print node, message297 318 uuid, entry = self.make_entry(message) 298 319 i = Item(id=uuid, payload=entry) … … 315 336 node_name=self.pubsub_top_level_node) 316 337 self.send(p, "purge") 317 yield 1 338 339 params = {'url': '%s/feed' % (self.collection.get_base_edit_uri().rstrip('/')), 340 'method': 'GET'} 341 self.send(params, '_feedrequest') 342 343 if self.dataReady("_feedresponse"): 344 feed = self.recv("_feedresponse") 345 for entry in feed.entries: 346 for link in entry.links: 347 if link.rel == 'edit': 348 params = {'url': link.href, 'method': 'DELETE'} 349 self.send(params, '_delrequest') 350 351 if self.dataReady("_delresponse"): 352 self.recv("_delresponse") 318 353 319 354 if not self.anyReady(): … … 348 383 sub.activate() 349 384 350 self.client = SimpleHTTPClient()351 self.addChildren( self.client)352 self.link((self, '_request'), ( self.client, 'inbox'))353 self.link(( self.client, 'outbox'), (self, '_response'))354 self.client.activate()385 client = SimpleHTTPClient() 386 self.addChildren(client) 387 self.link((self, '_request'), (client, 'inbox')) 388 self.link((client, 'outbox'), (self, '_response')) 389 client.activate() 355 390 356 391 return 1
