From ce7023fe4522b631f2c7da1b2e59db1b213543d8 Mon Sep 17 00:00:00 2001 From: MuK IT GmbH Date: Sun, 21 Oct 2018 18:48:41 +0000 Subject: [PATCH] publish muk_utils - 12.0 --- muk_utils/tools/__init__.py | 3 ++- muk_utils/tools/patch.py | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 muk_utils/tools/patch.py 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