From 3eea3b2554b0a8a91403e3ace5b978d4e60f44b1 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Thu, 20 Feb 2014 13:20:46 -0600 Subject: [PATCH] Record: allow customization of kwargs used in Record.copy --- pytools/__init__.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pytools/__init__.py b/pytools/__init__.py index f86c3b0..f480c2c 100644 --- a/pytools/__init__.py +++ b/pytools/__init__.py @@ -138,14 +138,17 @@ class RecordWithoutPickling(object): fields.add(key) setattr(self, key, value) - def copy(self, **kwargs): + def get_copy_kwargs(self, **kwargs): for f in self.__class__.fields: if f not in kwargs: try: kwargs[f] = getattr(self, f) except AttributeError: pass - return self.__class__(**kwargs) + return kwargs + + def copy(self, **kwargs): + return self.__class__(**self.get_copy_kwargs(**kwargs)) def __repr__(self): return "%s(%s)" % ( -- GitLab