From 3b48129936f0bae5ad6e72f725506355e35bf69e Mon Sep 17 00:00:00 2001 From: Hanaasagi Date: Wed, 8 May 2019 19:57:29 +0900 Subject: [PATCH] compact MethodType between 2 and 3 Signed-off-by: Hanaasagi --- prometheus_client/metrics.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/prometheus_client/metrics.py b/prometheus_client/metrics.py index b7c5e5a4..b5dfe952 100644 --- a/prometheus_client/metrics.py +++ b/prometheus_client/metrics.py @@ -14,6 +14,10 @@ if sys.version_info > (3,): unicode = str + create_bound_method = types.MethodType +else: + def create_bound_method(func, obj): + return types.MethodType(func, obj, obj.__class__) def _build_full_name(metric_type, name, namespace, subsystem, unit): @@ -369,7 +373,7 @@ def set_function(self, f): def samples(self): return (('', {}, float(f())),) - self._child_samples = types.MethodType(samples, self) + self._child_samples = create_bound_method(samples, self) def _child_samples(self): return (('', {}, self._value.get()),)