clubot更新: 使用SQLAlchemy重写数据库部分和改用Tornado MainLoop

Fri 26 April 2013

clubot在我的vps上跑了有一段时间了, 最近接触了SQLAlchemy 然后反观clubot的数据库代码部分, 感觉代码又遭有乱实在看不过眼, 所以就使用SQLAlchemy重写了数据库模块, 并将epoll的MainLoop改成仙子君所写的TornadoMainLoop

更新内容

  1. 数据库使用SQLAlchemy重写
  2. MainLoop改用TornadoMainLoop
  3. 改变代码结构, 清理部分代码
  4. history命令改为old, 并支持时间查询
  5. 废弃一些不常用的命令
  6. 改变数据库表结构
  7. 废弃channel功能, cd命令仅支持切换聊天和安静模式
  8. 删除一些不用的配置

如何升级

数据库表结构做了更改, 所以为了兼容之前的数据库本次表名前加上clubot_前缀, 并配以update.py脚本用以支持将旧的数据导入.

新的依赖

本次更新添加了依赖, 现在依赖包括:

  • pyxmpp2
  • dnspython
  • tornado
  • sqlalchemy
  • MySQL-python

乱码

如果数据导入后乱码, 可以参考这篇文章

项目地址

最后放上项目地址

Category: Python Tagged: clubot pyxmpp2 gtalk xmpp 更新 重写 SQLAlchemy tornado

comments


SQLAlchemy MySQL数据库乱码解决

Fri 26 April 2013

今天对clubot进行了升级, 但是导入数据后中文乱码, 一开是找资料说是在创建引擎的时候添加编码信息:

engine = create_engine("mysql://root:@localhost:3306/clubot?charset=utf8")

但是这并不行, 然后查看表信息:

> show create table clubot_members;
clubot_members | CREATE TABLE `clubot_members` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `email` varchar(100) DEFAULT NULL,
  `nick` varchar(50) DEFAULT NULL,
  `last_say` timestamp NULL DEFAULT NULL,
  `last_change` timestamp NULL DEFAULT …

Category: Python Tagged: sqlalchemy MySQL 数据库 乱码 utf8

comments

Read More
Page 1 of 1

Fork me on GitHub