Exemple #1
0
 def dump(self, keys=None, sparse=False, pnative=False, prefix='',
          none_str=''):
     if not keys:
         keys = []
     cfg = self.get(keys, sparse)
     if pnative:
         print(cfg)
     else:
         printcfg(cfg, prefix=prefix, level=len(keys), none_str=none_str)
Exemple #2
0
 def dump(self, keys=None, sparse=False, pnative=False, prefix='',
          none_str=''):
     if not keys:
         keys = []
     cfg = self.get(keys, sparse)
     if pnative:
         print(cfg)
     else:
         printcfg(cfg, prefix=prefix, level=len(keys), none_str=none_str)
Exemple #3
0
    def test_printcfg_list_values(self):
        cfg = OrderedDictWithDefaults()
        cfg['root'] = OrderedDictWithDefaults()
        cfg['root']['special'] = ['a', 'b', 'c', None]
        cfg['root']['normal'] = 0

        myhandle = StringIO()
        printcfg(cfg, handle=myhandle, none_str='d')
        expected = "[root]\n    special = a, b, c, d\n    normal = 0\n"
        actual = myhandle.getvalue()
        self.assertEqual(expected, actual)
Exemple #4
0
    def test_printcfg_break_lines(self):
        cfg = OrderedDictWithDefaults()
        cfg['root'] = OrderedDictWithDefaults()
        cfg['root']['special'] = "\nthis is\nvalid"
        cfg['root']['normal'] = 0

        myhandle = StringIO()
        printcfg(cfg, handle=myhandle)
        expected = "[root]\n    special = \"\"\"\n        \n    " \
                   "    this is\n        valid\n    \"\"\"\n    normal = 0\n"
        actual = myhandle.getvalue()
        self.assertEqual(expected, actual)
Exemple #5
0
    def test_printcfg_none_str_is_none(self):
        cfg = OrderedDictWithDefaults()
        cfg['root'] = OrderedDictWithDefaults()
        cfg['root']['special'] = 1
        cfg['root']['normal'] = 0
        cfg['root'][None] = None
        cfg[None] = None

        myhandle = StringIO()
        printcfg(cfg, handle=myhandle, none_str=None)
        expected = "[root]\n    special = 1\n    normal = 0\n"
        actual = myhandle.getvalue()
        self.assertEqual(expected, actual)
Exemple #6
0
 def dump(self,
          keys=None,
          sparse=False,
          prefix='',
          none_str='',
          handle=None):
     if not keys:
         keys = []
     cfg = self.get(keys, sparse)
     printcfg(cfg,
              prefix=prefix,
              level=len(keys),
              none_str=none_str,
              handle=handle)
Exemple #7
0
            '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',
Exemple #8
0
            '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'])