[FIX] Minor starting for web chat.

bzr revid: noz@tinyerp.com-20110408105806-cofc88534c7fab19
This commit is contained in:
noz (OpenERP)
2011-04-08 16:28:06 +05:30
parent 6da197456f
commit da9ef6e6ed
+26 -16
View File
@@ -2,7 +2,7 @@
import sys, time
import simplejson
import random
import openerpweb
#----------------------------------------------------------
@@ -17,13 +17,17 @@ class PollServerMessageQueue(object):
# 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
@@ -38,6 +42,7 @@ class PollServer(openerpweb.Controller):
@openerpweb.httprequest
def login(self, req, **kw):
"""
--> POST http://ajaxim.com/wp-content/plugins/im/ajaxim.php/login
Form Data
@@ -56,21 +61,26 @@ class PollServer(openerpweb.Controller):
]
}
"""
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)) + """
}
"""
@@ -98,7 +108,7 @@ class PollServer(openerpweb.Controller):
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
@@ -114,10 +124,10 @@ class PollServer(openerpweb.Controller):
# 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