Hello, I have a class that has an attribute that is a dict which I fill with more dicts. I've created a function to return those dictionaries if a key is provide, otherwise, it returns the 'default' dictionary.
I have the following methods (see below), it seems the update_options method is fine, but I'm not sure about the override_options method... and for that matter, I'm not sure this is the best approach overall... any comments, critiques? Thank you, john class Runner(object): """ Initiate with an optional dictionary of settings. Defaults are set in the options dictionary, which can be overridden. """ # Simplest default: default_options = { 'file' : '../data/input.dat', 'wavelength' : '310.0 310.0' } def __init__(self, **kwargs): if 'options' not in kwargs: self.options = copy(self.default_options) self.run_queue = {} def _get_from_queue(self, queue_key): """ internal method to set options """ if queue_key: if queue_key not in self.run_queue: raise ValueError('queue_key: {0} not in queue'.format(queue_key)) else: return self.run_queue[queue_key] else: return self.options def update_options(self, options, queue_key=None): """ update the options dictionary using a dict """ assert isinstance(options, dict), "update options requires a dict" old_options = self._get_from_queue(queue_key) old_options.update(options) def overide_options(self, options, queue_key=None): """ completely overide the options dict """ assert isinstance(options, dict), "override options requires a dict" old_options = self._get_from_queue(queue_key) old_options = options -- _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor