Odoo中文社区可以通过以下两个域名访问:shine-it.net , odoo.net.cn

由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解

本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!

开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

如果您登录系统碰到问题,请在微信公众号留言:

帮忙测试下eval的问题



  • 我自己新建了个模块,可是碰到了奇怪的问题
    在windows可以正常更新模块列表并安装它,在centos下却不行,找不到这个新增的模块
    跟踪了下代码,发现是module.py中的get_module_info函数的这一行代码:

    info = eval(data)
    

    这行代码将读取到的模块__terp__.py文件的内容转换成dict,
    在不同环境下下,可能正常,也可能报错
    我的环境:
    windows: xp, python2.5.4
    linux: centos5.3, python2.4.3

    我特意做了个测试文件,在windows下ok,在linux下报错
    实在是郁闷
    我把测试文件传上来,请有条件的朋友帮忙测试下


  • 管理员

    会不会是windows下和*nix下不同的换行符造成的。

    怎么样测试?



  • python test.py


  • 管理员

    可能是因为windows下的编辑器给__terp__.py文件的文件头加了UTF-8 BOM信息。在linux下转码后,工作正常。



  • 怎么样转的码?我试试


  • 管理员

    我用的是vim,

    se ff=unix
    

    再转会来,也没问题了

    se ff=dos
    

    应该还是换行符的问题,没有看到BOM标记

    [[i] 本帖最后由 digitalsatori 于 2009-7-9 11:06 编辑 [/i]]



  • 应该是格式问题,windows换行符多了个回车
    用dos2unix转一下就可以了

    但这样还真麻烦

    谢谢了



  • 用notepad++吧,今天转了后,再转回来发现我的dos2unix失效了难道 要加参数,还是哪里出了问题。



  • C:Documents and SettingsAdministrator桌面>python test.py
    {'category': 'Generic Modules/Inventory Control', 'init_xml': [], 'name': 'Gowel
    l Stock Management', 'author': 'bruce', 'update_xml': ['stock_wizard.xml', 'stoc
    k_view.xml', 'stock_report.xml', 'stock_sequence.xml', 'security/stock_security.
    xml'], 'depends': ['stock', 'purchase', 'sale'], 'version': 'test.1.0', 'active'
    : False, 'demo_xml': [], 'installable': True, 'description': 'Bill Typen'}

    我测试没有问题....


Log in to reply