From: W. Trevor King Date: Tue, 23 Jun 2009 23:59:50 +0000 (-0400) Subject: Use generator instead of default for libbe.bug.Bug.extra_strings. X-Git-Tag: 1.0.0~70^2^2~5 X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=269778a3983bc56b02c921a306b257b18fe16c47;p=be.git Use generator instead of default for libbe.bug.Bug.extra_strings. This avoids the problems associated with mutable defaults. --- diff --git a/libbe/bug.py b/libbe/bug.py index 89c0266..0f912cf 100644 --- a/libbe/bug.py +++ b/libbe/bug.py @@ -185,6 +185,8 @@ class Bug(settings_object.SavedSettingsObject): fset=_set_time, doc="An integer version of .time_string") + def _extra_strings_generator(self): + return [] def _extra_strings_check_fn(value): "Require an iterable full of strings" if not hasattr(value, "__iter__"): @@ -198,7 +200,7 @@ class Bug(settings_object.SavedSettingsObject): self._prop_save_settings(old, new) @_versioned_property(name="extra_strings", doc="Space for an array of extra strings. Useful for storing state for functionality implemented purely in becommands/.py.", - default=[], + generator=_extra_strings_generator, check_fn=_extra_strings_check_fn, change_hook=_extra_strings_change_hook, mutable=True)