跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Flatly)
  • 不使用皮肤
折叠

Odoo 中文社区

  1. 主页
  2. 版块
  3. Odoo 开发与实施交流
  4. RAD Tool 之 Dia for windows(with python plugin) BUG 修正.

RAD Tool 之 Dia for windows(with python plugin) BUG 修正.

已定时 已固定 已锁定 已移动 Odoo 开发与实施交流
3 帖子 2 发布者 7.2k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • mrshellyM 离线
    mrshellyM 离线
    mrshelly
    写于 最后由 编辑
    #1

    前段时间关注 官方推荐 RAD Tool (Dia), 决定项目模块部分由 Dia 来处理. 主要用来完成模块模板的搭建以及视图文件的初始化,生成模块安装包等操作.
    环境:
    Dia for windows 最新版本 (0.97 带有 Dia for python2.3) 目前也就支持最高到python2.3 当然你也可以自己 在 python25 下编译... 没有那时间就放弃.
    python 2.3.5 for windows
    pycairo-1.0.2-1 for win32 & python2.3
    pygtk-2.8.6-1 for win32 & python2.3

    官方 extra addones uml-dia 下的 codegen-openerp.py

    操作步聚参阅 官方安装文档.
    这里简要说明一下.

    1 安装 python2.3.5
    2 安装 pycairo-1.0.2-1
    3 安装 pygtk-2.8.6-1

    4 安装 dia for windows 安装时, 注意勾选上 python plugin

    5 将 codegen-openerp.py 拷贝到 dia 的安装文件夹.

    6 这一步最重要,也最容易出错.
    开个DOS窗. 进到 dia安装文件夹下的 bin 文件夹.
    添加 python23 的文件夹路径到 Path 环境变量.

    执行 python ..codegen-openerp.py

    总结 安装时,进入 bin 文件夹很关键. 因为 dia for python 模块是在 bin 文件夹下.
    当然,我现在的做法是,把bin 下面 dia.pyd 及 bin 下面所有的 dll 文件 复制到 python23 的 site-package 下面去. 这样就OK了.

    上面是安装. 如果不出错. 一般在 dia 的 export(导出) 菜单里,就可以选择 导出为 OpenERP 的 zip 文件了.

    下面讲讲,在导出时遇到的问题.

    在实际操作中. 导出时, zip 文件会为0字节. 也就是 codegen-openerp.py 执行是异常了. 这个在我调试时,遇到N多麻烦. 每次修改codegen-openerp.py 后,一定要 重新 python ..codegen-openerp.py ,不然,新修改部分在 dia 中是不生效的. 这一点困扰了我N久..

    回到正题吧. 经过NNNNNN久的反复调试,以及 dia 各版本及python 2.2 python2.3 的安装删除 努力下.

    俺 终于有了一个N大的发现.
    当导出文件到一个非中文路径时, 导出会成功..

    这个就好办了.

    解决方案:

    修改 codegen-openerp.py

        self.filename = filename     # 这一行.
    

    改为
    self.filename = filename.encode(sys.getfilesystemencoding())
    即可.

    我本机上提交到 extra addones 不太方便. BBS的前辈有机会把这次BUG修正提交到 官方一下.谢谢.

    1 条回复 最后回复
    0
    • digitalsatoriD 离线
      digitalsatoriD 离线
      digitalsatori 管理员
      写于 最后由 编辑
      #2

      兄弟韧劲十足,辛苦了。你可在在launchpad的bug traker 上报告。

      【上海先安科技】(tony AT openerp.cn)

      1 条回复 最后回复
      0

      • 登录

      • 没有帐号? 注册

      • 登录或注册以进行搜索。
      • 第一个帖子
        最后一个帖子
      0
      • 版块
      • 标签
      • 热门
      • 用户
      • 群组