Antoniov ha scritto:
In parole semplici tipo codice di programmazione
- Odoo legge il parametro addons_path
- Per ogni valore di addons_path cerca le directory
-- per ogni directory trovata cerca il file di manifest __openerp__.py (dalla 10.0 può essere __manifest__.py)
--- Legge il file di manifest e se valido considera il relativo modulo è disponibile
L'algoritmo di cui sopra è effettuato:
1. Durante l'avvio di Odoo
2. Con il pulsante "aggiorna lista moduli" da web interface
Verifica il flusso e capirai perchè alcuni "moduli" si e altri "no"
Combattendo con i miei neuroni pigri (
) sono riuscito a capire cosa c'era cne non mi quadrava.
Grazie Antoniov.
E' come dicevi tu, ma lo ripeto con un esempio.
il mio path è
addons_path =../maintenance-contract
e in maintenance-contract ci sono tante cartelline, ma nessun __openerp__.py
ndr:~/git/maintenance-contract$ tree -L 2
.
├── contract_button_invoices
│ ├── i18n
│ ├── __init__.py
│ ├── models
│ ├── __openerp__.py
│ ├── README.rst
│ └── views
├── contract_discount
│ ├── i18n
│ ├── __init__.py
│ ├── models
│ ├── __openerp__.py
│ ├── README.rst
│ ├── test
│ ├── tests
│ └── views
├── contract_discount_multiple_period
│ ├── i18n
│ ├── __init__.py
│ ├── __openerp__.py
│ ├── README.rst
│ ├── test
│ └── views
├── contract_draft
│ ├── data
│ ├── i18n
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── models
│ ├── __openerp__.py
│ ├── README.rst
│ ├── test
│ └── views
├── contract_html_description
│ ├── i18n
│ ├── __init__.py
│ ├── models
│ ├── __openerp__.py
│ ├── README.rst
│ ├── README.rst~
│ └── views
├── contract_html_description_line
│ ├── i18n
│ ├── models
│ ├── __openerp__.py
│ ├── README.rst
│ ├── README.rst~
│ ├── tests
│ └── views
├── contract_image_line
│ ├── __init__.py
│ ├── models
│ ├── __openerp__.py
│ ├── README.rst
│ ├── README.rst~
│ └── views
├── contract_invoice_internal_comment
│ ├── i18n
│ ├── __init__.py
│ ├── models
│ ├── __openerp__.py
│ ├── README.rst
│ ├── README.rst~
│ ├── test
│ └── views
├── contract_journal
│ ├── i18n
│ ├── __init__.py
│ ├── models
│ ├── __openerp__.py
│ ├── README.rst
│ ├── test
│ ├── tests
│ └── views
├── contract_multiple_period
│ ├── data
│ ├── i18n
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── models
│ ├── __openerp__.py
│ ├── README.rst
│ ├── security
│ ├── test
│ ├── tests
│ └── views
├── contract_partners
│ ├── i18n
│ ├── __init__.py
│ ├── models
│ ├── __openerp__.py
│ ├── README.rst
│ ├── README.rst~
│ ├── test
│ ├── tests
│ └── views
├── contract_work_order
│ ├── data
│ ├── i18n
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── models
│ ├── __openerp__.py
│ ├── README.rst
│ ├── tests
│ └── views
├── contract_work_order_measures
│ ├── i18n
│ ├── __init__.py
│ ├── models
│ ├── __openerp__.py
│ ├── README.rst
│ ├── tests
│ └── views
└── README.md
odoo cerca le directory in maintenance-contract e cerca se in queste c'è o meno il __openerp__.py per decidere se sono moduli.
Io avevo capito che il file __openerp__.py dovere stare direttamente in maintenance-contract, cioè
maintenance-contract/ __openerp__.py