# HG changeset patch # User Atul Varma # Date 1240985232 25200 # Node ID c1b46b60e838a29e1dbd0c55d7ebcd7c76c1d5dd # Parent aa0763886ec918ce8101068a8a687128605392e3 The listen endpoint can now be passed a start msg id. diff -r aa0763886ec9 -r c1b46b60e838 openwebchat.js --- a/openwebchat.js Tue Apr 28 22:10:24 2009 -0700 +++ b/openwebchat.js Tue Apr 28 23:07:12 2009 -0700 @@ -2,7 +2,7 @@ startMessageListener: function startMessageListener(options) { var req = new XMLHttpRequest(); req.multipart = true; - req.open('GET', 'listen/multipart', true); + req.open('GET', 'listen/multipart?start=0', true); req.overrideMimeType('application/json'); req.addEventListener( "error", diff -r aa0763886ec9 -r c1b46b60e838 openwebchat.py --- a/openwebchat.py Tue Apr 28 22:10:24 2009 -0700 +++ b/openwebchat.py Tue Apr 28 23:07:12 2009 -0700 @@ -49,6 +49,7 @@ self.__file.flush() class OpenWebChatServer(object): + LISTEN_TEMPLATE = re.compile('listen/multipart\?start=([0-9]+)') REDIRECT_TEMPLATE = re.compile('\/([A-Za-z0-9_]+)') URL_TEMPLATE = re.compile('\/([A-Za-z0-9_]+)/(.*)') @@ -142,9 +143,10 @@ def _until_conv_request_processed(self, addr, headers, method, conv_name, page): - if page == 'listen/multipart': + listen_match = self.LISTEN_TEMPLATE.match(page) + if listen_match: + i = int(listen_match.group(1)) yield self._until_multipart_header_sent(self.BOUNDARY) - i = 0 conv = self._convs.get(conv_name) while 1: while i < len(conv):