diff options
| author | Antony Lesuisse <al@openerp.com> | 2013-06-28 12:04:07 +0200 |
|---|---|---|
| committer | Antony Lesuisse <al@openerp.com> | 2013-06-28 12:04:07 +0200 |
| commit | 3d6a073acb5fa6c93fe96d37e2f8b429593f6c19 (patch) | |
| tree | 7c643a3f47c22fdf806ab0c85d0050b28a642166 /openerp/addons/base/module/module.py | |
| parent | d15439f2963d832681e04d99f007f6ce2717c586 (diff) | |
| parent | 68080eb17f8f23a34670d01f305316a01cea4d3b (diff) | |
[MERGE] html module description
bzr revid: al@openerp.com-20130628100407-3k5wy3767lbc3788
Diffstat (limited to 'openerp/addons/base/module/module.py')
| -rw-r--r-- | openerp/addons/base/module/module.py | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/openerp/addons/base/module/module.py b/openerp/addons/base/module/module.py index 6e79d0e4650..39d59a4ab2c 100644 --- a/openerp/addons/base/module/module.py +++ b/openerp/addons/base/module/module.py @@ -32,6 +32,7 @@ import urllib import urllib2 import zipfile import zipimport +import lxml.html try: from cStringIO import StringIO @@ -152,9 +153,19 @@ class module(osv.osv): def _get_desc(self, cr, uid, ids, field_name=None, arg=None, context=None): res = dict.fromkeys(ids, '') for module in self.browse(cr, uid, ids, context=context): - overrides = dict(embed_stylesheet=False, doctitle_xform=False, output_encoding='unicode') - output = publish_string(source=module.description, settings_overrides=overrides, writer=MyWriter()) - res[module.id] = output + path = addons.get_module_resource(module.name, 'static/description/index.html') + if path: + with tools.file_open(path, 'rb') as desc_file: + doc = desc_file.read() + html = lxml.html.document_fromstring(doc) + for element, attribute, link, pos in html.iterlinks(): + if element.get('src') and not '//' in element.get('src') and not 'static/' in element.get('src'): + element.set('src', "/%s/static/description/%s" % (module.name, element.get('src'))) + res[module.id] = lxml.html.tostring(html) + else: + overrides = dict(embed_stylesheet=False, doctitle_xform=False, output_encoding='unicode') + output = publish_string(source=module.description, settings_overrides=overrides, writer=MyWriter()) + res[module.id] = output return res def _get_latest_version(self, cr, uid, ids, field_name=None, arg=None, context=None): @@ -232,7 +243,7 @@ class module(osv.osv): def _get_icon_image(self, cr, uid, ids, field_name=None, arg=None, context=None): res = dict.fromkeys(ids, '') for module in self.browse(cr, uid, ids, context=context): - path = addons.get_module_resource(module.name, 'static', 'src', 'img', 'icon.png') + path = addons.get_module_resource(module.name, 'static', 'description', 'icon.png') if path: image_file = tools.file_open(path, 'rb') try: @@ -472,7 +483,6 @@ class module(osv.osv): function(cr, uid, ids, context=context) cr.commit() - openerp.modules.registry.RegistryManager.signal_registry_change(cr.dbname) registry = openerp.modules.registry.RegistryManager.new(cr.dbname, update_module=True) config = registry['res.config'].next(cr, uid, [], context=context) or {} |
