import sys, time
import simplejson
-
+import random
import openerpweb
#----------------------------------------------------------
# should contains: {
# 'user1234' : { s:1, m:"status message", timestamp: last_contact_timestamp }
# }
- def userlist():
- # return user list
- pass
+ def userlist(self, req):
+ userlist = [
+ {"u": "Guest130205108745.47", "s": {"s": 1, "m": ""}, "g": "Users"},
+ {"u": "Guest130209838956.76", "s": {"s": 1, "m": ""}, "g": "Users"},
+ ]
+
+ return userlist
def write(self, m_type, m_sender, m_recipent, m_message, m_group):
# appends messages to l
- # when status message uupdate users
+ # when status message update users
pass
def read(self, recpient, timestamp):
# return matching message
@openerpweb.httprequest
def login(self, req, **kw):
+
"""
--> POST http://ajaxim.com/wp-content/plugins/im/ajaxim.php/login
Form Data
]
}
"""
- mq = req.applicationsession.setdefault("web_chat",PollServerMessageQueue())
- print "chat login",kw
- # r = 'loggued in'
+ mq = req.applicationsession.setdefault("web_chat", PollServerMessageQueue())
+
+ #r = 'loggued in'
#u = generate random.randint(0,2**32)
#s = cherrypy cookie id
#f = mq.userlist()
- return """
+
+# username = 'Guest'+ str(random.randint(0, 2**32))
+#
+# if not req.applicationsession.get('users'):
+# req.applicationsession['users'] = [{'u': username, 's':{'s':1, 'm':''}, 'g':'Users'}]
+# else:
+# req.applicationsession['users'].append({'u': username, 's':{'s':1, 'm':''}, 'g':'Users'})
+
+ return """
{
"r":"logged in",
"u":"Guest130213866190.85",
"s":"f9e1811536f19ad5b9e00376f9ff1532",
- "f":[
- {"u":"Guest130205108745.47","s":{"s":1,"m":""},"g":"Users"},
- {"u":"Guest130209838956.76","s":{"s":1,"m":""},"g":"Users"},
- ]
+ "f":""" + str(mq.userlist(req)) + """
}
"""
jsonp1302140441577([{"t":"s","s":"Guest130214038974.31","r":"","m":"0:"}]);
receive message:
- jsonp1302140191599([{"t":"m","s":"Guest130214008855.5","r":"Guest130214013134.26","m":"fuck"}]);
+ jsonp1302140191599([{"t":"m","s":"Guest130214008855.5","r":"Guest130214013134.26","m":"xxxxxx"}]);
('t' => $msg->type, 's' => $msg->from, 'r' => $msg->to, 'm' => $msg->message )
mag type s or m
# sleep 2
# else
# return emptylist
- print "chat poll",kw
+
time.sleep(2)
# it's http://localhost:8002/web_chat/pollserver/poll?method=long?callback=jsonp1302147330483&_1302147330483=
- return '%s([{"t":"m","s":"Guest130214008855.5","r":"Guest130214013134.26","m":"fuck"}]);'%kw.get('callback','')
+ return '%s([{"t":"m","s":"Guest130214008855.5","r":"Guest130214013134.26","m":"xxxxxx"}]);'%kw.get('callback','')
return None
@openerpweb.jsonrequest