Oejia 技术栈
首页
应用市场
方案
OE学院
分享
关于
编辑器
登录
在 Odoo 中使用 WebSocket 并兼容Odoo的Session会话识别
admin
on 2022-12-29
``` from geventwebsocket import WebSocketApplication from ..http import OpenERPSession import odoo from odoo.tools.func import lazy_property class WsApplication(WebSocketApplication): def get_cookie(self, key): raw = self.ws.environ['HTTP_COOKIE'] if raw: _dict = dict([ e.strip().split('=',1) for e in raw.split(';')]) return _dict.get(key,None) else: return None @lazy_property def session_store(self): # Setup http sessions path = odoo.tools.config.session_dir _logger.debug('HTTP sessions stored in: %s', path) return werkzeug.contrib.sessions.FilesystemSessionStore(path, session_class=OpenERPSession) def setup_session(self): sid =self.get_cookie('session_id') if sid is None: session = None else: session = self.session_store.get(sid) self.session = session return session def get_current_user(self): pass def on_open(self): session = self.setup_session() def on_message(self, message): pass def on_close(self, reason): pass class WsServer(WebSocketServer): debug_log_format = ( '%(levelname)s in %(module)s: ' + '%(message)s' ) def run(): WsServer( (config.main_server_conf['host'], config.main_server_conf['port']), Resource([ #('/', application), # UI app ('/ws', WsApplication)# WebSocket app ]), debug=True ).serve_forever() ``` 融合odoo的服务运行 ``` #!/usr/bin/env python __import__('pkg_resources').declare_namespace('odoo.addons') import odoo from odoo.service import server class WebSocketServer(object): pass # WebSocketServer(odoo.service.wsgi_server.application) service.GeventServer = WebSocketServer if __name__ == "__main__": odoo.cli.main() ```
Information
在 Odoo 中使用 WebSocket 并兼容Odoo的Session会话识别
http://www.oejia.net/article/d3c297cb4ed115f0275b06df470a0c3a
http://www.oejia.net/raw/d3c297cb4ed115f0275b06df470a0c3a
admin
on 2022-12-29
Category
Odoo
Related
2022-08-26 :
钉钉消息通知及审批功能的使用说明
2016-08-01 :
Odoo 模型定义详解
2016-12-07 :
DjangoX 模型管理页面自定义模板示例
2016-09-21 :
如何在 Django 中使用 Tornado 的 WebSocket 并做请求的用户验证识别
2016-04-20 :
怎么安装 yum 环境
2022-06-30 :
OE会员模块
2018-02-08 :
如何自定义扩展Odoo前端控件widget
2016-02-01 :
odoo相关
2020-06-29 :
Odoo仓库模块实现公司多个仓库间调拨和入库确认
2016-02-01 :
便签与计划
官方订阅号
关注订阅实时了解我们更多分享
分类
(20)
Django (3)
DjangoX (13)
JS (2)
Nginx (1)
Odoo (134)
Python (1)
YouMd (3)
公告说明 (2)
前端 (2)
后端HTTP (7)
异常处理 (1)
桌面UI (1)
移动开发 (4)
About This Entry
企业微信错误码:60020 的处理
Odoo 让 server action 显示到指定的视图上
About This Blog
main index
to find recently
archives
to find all
标签
微信模块发布记录
微信模块
小程序商城
Web
Http
客服系统
审批OA
OE商城
HTML5
Markdown
DjangoX
oeshop
Excel
PyQT
md
Python
解析
YouPBX
服系统
示例
markdown
最近发布
Odoo 微信小程序商城模块 Oejia_weshop v0.1.1 发布
Oejia_wx v0.4.0 发布,支持 Odoo10 的微信模块
DjangoX App 配置和菜单组设置介绍
Odoo 微信小程序商城模块 Oejia_weshop 常见问题处理
微信模块 Oejia_wx v0.5.8 发布,多会话客服消息支持及素材图文方面增强
Odoo 低版本升级到 Odoo15 的处理集锦
Odoo商城模块 Oejia_weshop v1.0.1 发布,统一强大的后台多种客户端支持
钉钉消息通知及审批功能的使用说明
新版开启2016年新篇章
Friend Links
Oejia技术梦博客分享
YouMd,爱上MarkDown
Mole轻量级wsgi架子