这是我在TwythonStreamer上的包装器:
from twython import TwythonStreamer
class Twitter_talker(TwythonStreamer):
def __init__(self):
super(Twitter_talker, self).__init__(<my credentials here...>)
def on_success(self, data):
self.disconnect()
print data
def on_error(self, status_code, data):
print status_code
self.disconnect()
以下是我从twitter获取状态的电话:
class Tweet_Handler(tornado.web.RequestHandler):
def get(self):
stream = Twitter_talker()
stream.statuses.filter(track='badminton')
我创建此流,在GET REST API调用我的Web服务器时查找“badminton”。虽然它没有编码,但它将是一个异步调用,这意味着我将返回一个响应,如“1”,表示流已成功创建。
当我收到值为“羽毛球”的DELETE REST API调用时,如何 self.disconnect
?
答案 0 :(得分:1)
您的DELETE
处理程序将具有与self
处理程序不同的GET
(始终为每个请求实例化RequestHandler
。您需要存储GET
某处的{1}}处理程序,也许是将关键字映射到一组处理程序的全局字典(不要忘记在on_finish
中删除它。)查看Tornado chat demo以及它如何管理服务员。
答案 1 :(得分:0)
使用class属性来保存Twitter Talkers的字典。
class Tweet_Handler(tornado.web.RequestHandler):
requests = {}
def get(self):
stream = Twitter_talker()
stream.statuses.filter(track='badminton')
Tweet_Handler.requests['badminton'] = stream
def delete(self):
value = self.get_argument("value")
if value in Tweet_Handler.requests:
Tweet_Handler.requests[value].disconnect()
del Tweet_Handler.requests[value]