diff --git a/muk_utils/tools/__init__.py b/muk_utils/tools/__init__.py index e768f4b..66447db 100644 --- a/muk_utils/tools/__init__.py +++ b/muk_utils/tools/__init__.py @@ -21,4 +21,5 @@ from . import file from . import json from . import cache from . import types -from . import http \ No newline at end of file +from . import http +from . import patch \ No newline at end of file diff --git a/muk_utils/tools/patch.py b/muk_utils/tools/patch.py new file mode 100644 index 0000000..c6e72a2 --- /dev/null +++ b/muk_utils/tools/patch.py @@ -0,0 +1,36 @@ +################################################################################### +# +# Copyright (C) 2018 MuK IT GmbH +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +################################################################################### + +import logging + +from odoo import api + +_logger = logging.getLogger(__name__) + +#---------------------------------------------------------- +# Patch Helper +#---------------------------------------------------------- + +def monkey_patch(cls): + def decorate(func): + name = func.__name__ + func.super = getattr(cls, name, None) + setattr(cls, name, func) + return func + return decorate