From 94b449466ab00d0df1b706f5c6009ea861b87a19 Mon Sep 17 00:00:00 2001 From: Michael King Date: Wed, 5 Sep 2007 16:52:09 +0000 Subject: [PATCH] Added mixins for reload development --- mixins.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 mixins.py diff --git a/mixins.py b/mixins.py new file mode 100644 index 000000000..87e2d1cb2 --- /dev/null +++ b/mixins.py @@ -0,0 +1,20 @@ + +class ReloadMixin(): + def cache(self, callback, do_save=True): + cache_dict = {} + if do_save: + if self.save and callable(self.save): + self.save() + else: + raise ValueError("This object does not have a save function, you must pass save=False for this object type.") + + for key, value in self.__dict__.iteritems(): + if not callable(value): + cache_dict[key] = value + + callback(cache_dict) + + def reload(self, cache): + for key, value in cache.iteritems(): + if self.__dict__[key] != value: + self.__dict__[key] = value