Ejemplo n.º 1
0
    def testWrite(self):

        # Load file without processing includes
        data = yaml_load('foo.yml', include=False)
        self.assertIsInstance(data['c'], IncludeYamlFile)
        self.assertIsInstance(data['d'], IncludeYamlFile)
        self.assertIsInstance(data['e'], IncludeYamlFile)
        self.assertIsInstance(data['f'], IncludeYamlFile)

        # Write data out
        yaml_write(self._tmp, data)
        self.assertTrue(os.path.isfile(self._tmp))

        # Load the newly written file and process includes
        # (the results should be as in TestYamlLoad.testInclude)
        data = yaml_load(self._tmp)
        self.assertEqual(data['a'], 1)
        self.assertEqual(data['b'], [1.43, 543.55])
        self.assertEqual(data['c'][0], 3.6)
        self.assertEqual(data['c'][1], [1, 2, 3])
        self.assertEqual(data['c'][2], 'item')
        self.assertEqual(data['c'][3], 'other')

        # Test that output is exact as input
        with open('foo.yml', 'r') as fid:
            in_data = fid.read()
        with open(self._tmp, 'r') as fid:
            out_data = fid.read()
        self.assertEqual(in_data, out_data)
Ejemplo n.º 2
0
    def testError(self):
        with self.assertRaises(IOError) as e:
            yaml_load('unkown.yml')
        self.assertIn("No such file or directory: 'unkown.yml'", str(e.exception))

        with self.assertRaises(IOError) as e:
            yaml_load('foo_error.yml')
        self.assertIn("Unknown include file 'unknown.yml' on line 5 of foo_error.yml",
                      str(e.exception))
Ejemplo n.º 3
0
    def testError(self):
        with self.assertRaises(IOError) as e:
            yaml_load('unkown.yml')
        self.assertIn("No such file or directory: 'unkown.yml'", str(e.exception))

        with self.assertRaises(IOError) as e:
            yaml_load('foo_error.yml')
        self.assertIn("Unknown include file 'unknown.yml' on line 5 of foo_error.yml",
                      str(e.exception))
Ejemplo n.º 4
0
def load_config(filename, **kwargs):
    """
    Read the config.yml file and create the Translator object.
    """
    config = yaml_load(filename, root=MooseDocs.ROOT_DIR)

    # Replace 'default' and 'disable' key in Extensions to allow for recursive_update to accept command line
    for key in config.get('Extensions', dict()).keys():
        if config['Extensions'][key] == 'default':
            config['Extensions'][key] = dict()
        if config['Extensions'][key] == 'disable':
            config['Extensions'][key] = dict(active=False)

    # Apply command-line key value pairs
    recursive_update(config, kwargs)

    extensions = _yaml_load_extensions(config)
    reader = _yaml_load_object('Reader', config, DEFAULT_READER)
    renderer = _yaml_load_object('Renderer', config, DEFAULT_RENDERER)
    content = _yaml_load_content(config, reader.EXTENSIONS)
    executioner = _yaml_load_object('Executioner', config, DEFAULT_EXECUTIONER)
    translator = _yaml_load_object('Translator', config, DEFAULT_TRANSLATOR,
                                   content, reader, renderer, extensions, executioner)

    return translator, config
Ejemplo n.º 5
0
 def testInclude(self):
     data = yaml_load('foo.yml')
     self.assertEqual(data['a'], 1)
     self.assertEqual(data['b'], [1.43, 543.55])
     self.assertEqual(data['c'][0], 3.6)
     self.assertEqual(data['c'][1], [1,2,3])
     self.assertEqual(data['c'][2], 'item')
     self.assertEqual(data['c'][3], 'other')
Ejemplo n.º 6
0
    def defaultConfig():
        packages = yaml_load(os.path.join(MooseDocs.MOOSE_DIR, 'framework', 'doc', 'packages.yml'))

        config = command.CommandExtension.defaultConfig()
        config['packages'] = (packages, "A dict of packages by name.")
        config['link'] = (r'http://www.mooseframework.org/moose_packages',
                          "Location of packages.")
        return config
Ejemplo n.º 7
0
 def testInclude(self):
     data = yaml_load('foo.yml')
     self.assertEqual(data['a'], 1)
     self.assertEqual(data['b'], [1.43, 543.55])
     self.assertEqual(data['c'][0], 3.6)
     self.assertEqual(data['c'][1], [1, 2, 3])
     self.assertEqual(data['c'][2], 'item')
     self.assertEqual(data['c'][3], 'other')
Ejemplo n.º 8
0
    def defaultConfig():
        packages = yaml_load(
            os.path.join(MooseDocs.MOOSE_DIR, 'framework', 'doc',
                         'packages.yml'))

        config = command.CommandExtension.defaultConfig()
        config['packages'] = (packages, "A dict of packages by name.")
        config['link'] = (r'http://www.mooseframework.org/moose_packages',
                          "Location of packages.")
        return config
Ejemplo n.º 9
0
    def defaultConfig():
        packages_config = yaml_load(
            os.path.join(MooseDocs.MOOSE_DIR, 'framework', 'doc',
                         'packages_config.yml'))

        config = command.CommandExtension.defaultConfig()

        # Assign a key/value for every item in packages_config.yml
        for k, v in packages_config.items():
            config[k] = (v, 'Default version for %s' % (k))

        return config
Ejemplo n.º 10
0
def load_config(filename):
    """
    Read the config.yml file and create the Translator object.
    """
    config = yaml_load(filename, root=MooseDocs.ROOT_DIR)

    content = _yaml_load_content(config)
    extensions = _yaml_load_extensions(config)
    reader = _yaml_load_object('Reader', config, DEFAULT_READER)
    renderer = _yaml_load_object('Renderer', config, DEFAULT_RENDERER)
    translator = _yaml_load_object('Translator', config, DEFAULT_TRANSLATOR,
                                   content, reader, renderer, extensions)
    return translator, config
Ejemplo n.º 11
0
    def _loadYamlFiles(self, filenames):
        """Load the removed/alias yml files"""
        content = dict()
        if filenames is not None:
            for fname in filenames:
                yml_file = mooseutils.eval_path(fname)
                if not os.path.isdir(yml_file):
                    yml_file = os.path.join(self.working_dir, yml_file)

                if not os.path.isfile(yml_file):
                    raise NotADirectoryError("YAML file is not a directory: {}".format(fname))

                content.update({fname:yaml_load(yml_file)})
        return content
Ejemplo n.º 12
0
def load_config(filename, **kwargs):
    """
    Read the config.yml file and create the Translator object.
    """
    config = yaml_load(filename, root=MooseDocs.ROOT_DIR)
    config.update(kwargs)

    extensions = _yaml_load_extensions(config)
    reader = _yaml_load_object('Reader', config, DEFAULT_READER)
    renderer = _yaml_load_object('Renderer', config, DEFAULT_RENDERER)
    content = _yaml_load_content(config, reader.EXTENSIONS)
    executioner = _yaml_load_object('Executioner', config, DEFAULT_EXECUTIONER)
    translator = _yaml_load_object('Translator', config, DEFAULT_TRANSLATOR,
                                   content, reader, renderer, extensions, executioner)
    return translator, config
Ejemplo n.º 13
0
def load_config(filename, **kwargs):
    """
    Read the config.yml file and create the Translator object.
    """
    config = yaml_load(filename, root=MooseDocs.ROOT_DIR)
    config.update(kwargs)

    extensions = _yaml_load_extensions(config)
    reader = _yaml_load_object('Reader', config, DEFAULT_READER)
    renderer = _yaml_load_object('Renderer', config, DEFAULT_RENDERER)
    content = _yaml_load_content(config, reader.EXTENSIONS)
    executioner = _yaml_load_object('Executioner', config, DEFAULT_EXECUTIONER)
    translator = _yaml_load_object('Translator', config, DEFAULT_TRANSLATOR,
                                   content, reader, renderer, extensions, executioner)
    return translator, config
Ejemplo n.º 14
0
    def __init__(self, translator, options, *args, **kwargs):

        super(MooseDocsWatcher, self).__init__(*args, **kwargs)
        self._options = options
        self._translator = translator

        self._config = yaml_load(options.config, root=MooseDocs.ROOT_DIR)

        # Determine the directories to watch
        roots = set()
        self._items = common.get_items(self._config.get('Content'))
        for root, _ in common.get_files(self._items, self._translator.reader.EXTENSIONS):
            roots.add(root)

        for root in roots:
            self.watch(root, self.build, delay=1)
Ejemplo n.º 15
0
    def __init__(self, translator, options, *args, **kwargs):

        super(MooseDocsWatcher, self).__init__(*args, **kwargs)
        self._options = options
        self._translator = translator

        self._config = yaml_load(options.config, root=MooseDocs.ROOT_DIR)

        # Determine the directories to watch
        roots = set()
        self._items = common.get_items(self._config.get('Content'))
        for root, _ in common.get_files(self._items, self._translator.reader.EXTENSIONS):
            roots.add(root)

        for root in roots:
            self.watch(root, self.build, delay=1)
Ejemplo n.º 16
0
    def defaultConfig():
        packages_config = yaml_load(
            os.path.join(MooseDocs.MOOSE_DIR, 'framework', 'doc',
                         'packages_config.yml'))

        config = command.CommandExtension.defaultConfig()

        # Assign a key/value for every item in packages_config.yml
        for k, v in packages_config.iteritems():
            if k != 'moose_packages':
                config[k] = (v, 'Default version for %s' % (k))
            else:
                config[k] = (v, 'MOOSE Environment installer package')

        config['link'] = (r'http://www.mooseframework.org/moose_packages',
                          "Location of packages.")
        return config
Ejemplo n.º 17
0
    def defaultConfig():
        packages_config = yaml_load(os.path.join(MooseDocs.MOOSE_DIR,
                                                 'framework',
                                                 'doc',
                                                 'packages_config.yml'))

        config = command.CommandExtension.defaultConfig()

        # Assign a key/value for every item in packages_config.yml
        for k, v in packages_config.iteritems():
            if k != 'moose_packages':
                config[k] = (v, 'Default version for %s' % (k))
            else:
                config[k] = (v, 'MOOSE Environment installer package')

        config['link'] = (r'http://www.mooseframework.org/moose_packages',
                          "Location of packages.")
        return config
Ejemplo n.º 18
0
 def testLoad(self):
     data = yaml_load('bar.yml')
     self.assertEqual(data[0], 3.6)
     self.assertEqual(data[1], [1,2,3])
     self.assertEqual(data[2], 'item')
     self.assertEqual(data[3], 'other')
Ejemplo n.º 19
0
 def testIncludeWithKey(self):
     data = yaml_load('foo.yml')
     self.assertEqual(data['d'], 1980)
     self.assertEqual(data['e'], ['Edward', 'Bonnie'])
     self.assertEqual(data['f'], [1906])
Ejemplo n.º 20
0
 def testLoad(self):
     data = yaml_load('bar.yml')
     self.assertEqual(data[0], 3.6)
     self.assertEqual(data[1], [1, 2, 3])
     self.assertEqual(data[2], 'item')
     self.assertEqual(data[3], 'other')
Ejemplo n.º 21
0
 def testIncludeWithKey(self):
     data = yaml_load('foo.yml')
     self.assertEqual(data['d'], 1980)
     self.assertEqual(data['e'], ['Edward', 'Bonnie'])
     self.assertEqual(data['f'], [1906])