# HG changeset patch # User Jeff Hammel # Date 1335684658 25200 # Node ID 290c40224e5d8cbebe1a59c5cfb1b69bfe6358fd # Parent 291fbbeb6e1edcd421ef2c0b5fc9615ca247b509 improved abstraction; sadly doesnt seem to work diff -r 291fbbeb6e1e -r 290c40224e5d configuration/configuration.py --- a/configuration/configuration.py Sat Apr 28 23:25:52 2012 -0700 +++ b/configuration/configuration.py Sun Apr 29 00:30:58 2012 -0700 @@ -409,11 +409,7 @@ pass # dump configuration - self.dump(options) - - if missingvalues and not getattr(options, 'dump', None): - # XXX assuming if you don't have values you were just dumping - self.error(str(missingvalues)) + dump = self.dump(options, missingvalues) # update options from config options.__dict__.update(self.config) @@ -421,13 +417,15 @@ # return parsed arguments return options, args - def dump(self, options): + def dump(self, options, missingvalues): """dump configuration, if specified""" dump = getattr(options, 'dump') if dump: # TODO: have a way of specifying format other than filename self.serialize(dump) + elif missingvalues: + self.error(str(missingvalues)) ### serialization/deserialization