Zum Inhalt springen
Menü
Sie müssen registriert sein, um mit der Community zu interagieren.
Diese Frage wurde gekennzeichnet
3 Antworten
10115 Ansichten

Is there some way that I can check if certain module is installed from the __init__.py file (for example if I want to conditionally import one of my .py files depending on whether a specific module is installed, without having to set it as a mandatory dependency in my __openerp__.py).

I see I have no cr cursor to somehow browse it from database, nor do I have the dbname to be able to instantiate my own cursor. I was hoping I could do something like

import openerp.modules as addons
loaded_mods = addons.module.loaded
if 'addon_x' in loaded_mods:
    import addon_x_inheritage

but loaded returns an empty list [].

Is there any workable way to achieve this?

Avatar
Verwerfen

Odoo Module Structure: https://goo.gl/cPZ6gM

Beste Antwort

Create a link module

If your aim to make differents behaviors depending on whether or not a module is installed, you might create a link modules.

From OpenERP 7.0 [1], you can specifiy in your __openerp__.py an option called auto_install

  auto_install     True or False (default: False). If set to ``True``, the
                   module is a link module. It will be installed as soon
                   as all its dependencies are installed.

With this, you should be able to create a module A without all dependancies, and an other link module L which pill patch your module A taking in account the changes made by the module you didn't wanted to set in the module A dependancies.

Otherwise, you may have issues with inheritances processes.


[1] [Module structure](http://doc.openerp.com/trunk/developers/server/03_module_dev_01/)

Avatar
Verwerfen
Autor

Ok, this seems the most logical and elegant way to solve this particular problem. However, it would be nice to know if there is a way to specifically "check for installed modules from my __init__.py" for some other scenario.

Verknüpfte Beiträge Antworten Ansichten Aktivität
1
Juli 24
1418
1
Jan. 24
4171
2
März 23
2276
2
März 20
8428
4
Apr. 18
3540