Contributors mailing list archives


Re: Overwriting a method in OCA module.

Open for Small Business, Graeme Gellatly
- 15/09/2015 23:21:23
Stefan, Kitti et al,

Here is some non-working code which is very close to behaving to allow for upstream changes which I thought I'd share.
import as parent

import hashlib
import inspect
import logging

# '123',
# ]
# h = hashlib.sha224(inspect.getsourcelines(''.join(
# parent.report_account_common.get_lines)[0])).hexdigest()
# if h not in VALID_HASHES:
# _logger.critical('Parent Function get_lines has changed or not '
# 'known to be compatible with this version. Got: %s, Expected 123' % h)
The principle of it is that we take a hash of the original function when we create the code and create log output if that hash changes.  If upon reviewing the code we make changes (or not) then the new hash can also be added.

On Wed, Sep 16, 2015 at 3:53 AM, Nhomar Hernandez <> wrote:

On Tue, Sep 15, 2015 at 4:07 AM, Kitti U. <> wrote:
So, we will have 1 monkey patch addon for each Project? i.e., account-invoicing_monkeypatch, sale-workflow_monkeypatch, etc...

Hello Kitty.

The monkey patch can be by functionality even by method.

The point of th monkey patch is that with simple correct the py file you will use quickly the original one in seconds.

And don't forget make alwas the PR to odoo/odoo itlesf in order to ensure in some moment do not need the monkey patch.

We apply this monkey patches temporarly when issues comes fron OPW also.

We called the "*_unfuck" modules.

Which if you look in the blame for the model/*.py it is empty just because we just receive the patch on odoo/odoo some weeks ago!. But the module stais there doing nothing until we make a major release, and everything was moves smothly.

I hope it helps.

Nhomar Hernandez
CEO Vauxoo.
Twitter: @nhomar
Odoo Gold Partner
Móvil Venezuela:
+58 4144110269
Móvil México:
+52 1 4773933942

Post to: