def dump(self, keys=[], sparse=False, pnative=False, prefix='', none_str=''): cfg = self.get(keys, sparse) if pnative: print cfg else: printcfg(cfg, prefix=prefix, level=len(keys), none_str=none_str)
'cde': 'foo', }, 'hostnames': { 'host 1': { 'work dir': '/a/b/c', 'running dir': '/a/b/c/d' }, 'host 2': { 'work dir': '/x/b/c', 'running dir': '/x/b/c/d' }, } } x2 = converter(lambda x: 2 * x, 'value x 2') printcfg(cfg) sys.stdout.write('\n') upg = upgrader(cfg, 'test file') # successive upgrades are incremental - at least until I think of a # good way to remember what items have already been translated... upg.deprecate('1.3', ['item one'], ['item ONE'], x2) upg.deprecate('1.3', ['section A'], ['Heading A']) # NOTE change to new item keys here! upg.deprecate('1.3', ['Heading A', 'cde'], ['Heading A', 'CDE']) upg.deprecate('1.4', ['Heading A', 'abc'], cvtr=x2, silent=True) upg.deprecate('1.4.1', ['item two'], ['Heading A', 'item two'], silent=True) upg.deprecate('1.5', ['hostnames'], ['hosts']) upg.deprecate('1.5', ['hosts', '__MANY__', 'running dir'], ['hosts', '__MANY__', 'run dir'])
{ 'host 1' : { 'work dir' : '/a/b/c', 'running dir' : '/a/b/c/d' }, 'host 2' : { 'work dir' : '/x/b/c', 'running dir' : '/x/b/c/d' }, } } x2 = converter( lambda x: 2*x, 'value x 2' ) printcfg(cfg) print upg = upgrader( cfg, 'test file' ) # successive upgrades are incremental - at least until I think of a # good way to remember what items have already been translated... upg.deprecate( '1.3', ['item one' ], ['item ONE'], x2 ) upg.deprecate( '1.3', ['section A'], ['Heading A'] ) upg.deprecate( '1.3', ['Heading A','cde'], ['Heading A', 'CDE'] ) # NOTE change to new item keys here! upg.deprecate( '1.4', ['Heading A','abc'], cvtr=x2, silent=True ) upg.deprecate( '1.4.1', ['item two'], ['Heading A','item two'], silent=True ) upg.deprecate( '1.5', ['hostnames'], ['hosts'] ) upg.deprecate( '1.5', ['hosts', '__MANY__', 'running dir'], ['hosts','__MANY__', 'run dir'] ) upg.upgrade()
def print_cfg(): printcfg(get_cfg())
def dump( self, keys=[], sparse=False, pnative=False, prefix='', none_str='' ): cfg = self.get( keys, sparse ) if pnative: print cfg else: printcfg( cfg, prefix=prefix, level=len(keys), none_str=none_str )