• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python config.load_yaml_config函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中readthedocs.doc_builder.config.load_yaml_config函数的典型用法代码示例。如果您正苦于以下问题:Python load_yaml_config函数的具体用法?Python load_yaml_config怎么用?Python load_yaml_config使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了load_yaml_config函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: test_extra_requirements

    def test_extra_requirements(self, load_config):
        load_config.side_effect = create_load({
            'python': {
                'pip_install': True,
                'extra_requirements': ['tests', 'docs']
            }
        })
        config = load_yaml_config(self.version)
        self.assertEqual(config.extra_requirements, ['tests', 'docs'])

        load_config.side_effect = create_load({
            'python': {
                'extra_requirements': ['tests', 'docs']
            }
        })
        config = load_yaml_config(self.version)
        self.assertEqual(config.extra_requirements, [])

        load_config.side_effect = create_load()
        config = load_yaml_config(self.version)
        self.assertEqual(config.extra_requirements, [])

        load_config.side_effect = create_load({
            'python': {
                'setup_py_install': True,
                'extra_requirements': ['tests', 'docs']
            }
        })
        config = load_yaml_config(self.version)
        self.assertEqual(config.extra_requirements, [])
开发者ID:charlie-wong,项目名称:readthedocs.org,代码行数:30,代码来源:test_config_wrapper.py


示例2: test_python_invalid_version_in_config

 def test_python_invalid_version_in_config(self, load_config):
     load_config.side_effect = create_load({
         'python': {'version': 2.6},
     })
     self.project.container_image = 'readthedocs/build:2.0'
     self.project.save()
     with self.assertRaises(InvalidConfig):
         load_yaml_config(self.version)
开发者ID:chrisjsewell,项目名称:readthedocs.org,代码行数:8,代码来源:test_config_integration.py


示例3: test_install_project

    def test_install_project(self, load_config):
        load_config.side_effect = create_load()
        config = load_yaml_config(self.version)
        self.assertEqual(config.install_project, False)

        load_config.side_effect = create_load({
            'python': {'setup_py_install': True}
        })
        config = load_yaml_config(self.version)
        self.assertEqual(config.install_project, True)
开发者ID:charlie-wong,项目名称:readthedocs.org,代码行数:10,代码来源:test_config_wrapper.py


示例4: test_requirements_file

    def test_requirements_file(self, load_config):
        requirements_file = 'wsgi.py'
        load_config.side_effect = create_load({
            'requirements_file': requirements_file
        })
        config = load_yaml_config(self.version)
        self.assertEqual(config.requirements_file, requirements_file)

        load_config.side_effect = create_load()
        config = load_yaml_config(self.version)
        self.assertEqual(config.requirements_file, 'urls.py')
开发者ID:gmiddlecote,项目名称:readthedocs.org,代码行数:11,代码来源:test_config_wrapper.py


示例5: test_extra_requirements

    def test_extra_requirements(self, load_config):
        load_config.side_effect = create_load({
            'python': {
                'pip_install': True,
                'extra_requirements': ['tests', 'docs'],
            },
        })
        config = load_yaml_config(self.version)
        self.assertEqual(len(config.python.install), 2)
        self.assertTrue(
            isinstance(config.python.install[0], PythonInstallRequirements)
        )
        self.assertEqual(
            config.python.install[1].extra_requirements,
            ['tests', 'docs']
        )

        load_config.side_effect = create_load({
            'python': {
                'extra_requirements': ['tests', 'docs'],
            },
        })
        config = load_yaml_config(self.version)
        self.assertEqual(len(config.python.install), 1)
        self.assertTrue(
            isinstance(config.python.install[0], PythonInstallRequirements)
        )

        load_config.side_effect = create_load()
        config = load_yaml_config(self.version)
        self.assertEqual(len(config.python.install), 1)
        self.assertTrue(
            isinstance(config.python.install[0], PythonInstallRequirements)
        )

        load_config.side_effect = create_load({
            'python': {
                'setup_py_install': True,
                'extra_requirements': ['tests', 'docs'],
            },
        })
        config = load_yaml_config(self.version)
        self.assertEqual(len(config.python.install), 2)
        self.assertTrue(
            isinstance(config.python.install[0], PythonInstallRequirements)
        )
        self.assertEqual(
            config.python.install[1].extra_requirements,
            []
        )
开发者ID:chrisjsewell,项目名称:readthedocs.org,代码行数:50,代码来源:test_config_integration.py


示例6: test_requirements_file

    def test_requirements_file(self, load_config):
        if six.PY3:
            import pytest
            pytest.xfail("test_requirements_file is known to fail on 3.6")

        requirements_file = 'wsgi.py' if six.PY2 else 'readthedocs/wsgi.py'
        load_config.side_effect = create_load({
            'requirements_file': requirements_file
        })
        config = load_yaml_config(self.version)
        self.assertEqual(config.requirements_file, requirements_file)

        load_config.side_effect = create_load()
        config = load_yaml_config(self.version)
        self.assertEqual(config.requirements_file, 'urls.py')
开发者ID:charlie-wong,项目名称:readthedocs.org,代码行数:15,代码来源:test_config_wrapper.py


示例7: test_conda

    def test_conda(self, load_config):
        to_find = 'urls.py'
        load_config.side_effect = create_load({
            'conda': {
                'file': to_find
            }
        })
        config = load_yaml_config(self.version)
        self.assertEqual(config.use_conda, True)
        self.assertTrue(config.conda_file[-len(to_find):] == to_find)

        load_config.side_effect = create_load()
        config = load_yaml_config(self.version)
        self.assertEqual(config.use_conda, False)
        self.assertEqual(config.conda_file, None)
开发者ID:charlie-wong,项目名称:readthedocs.org,代码行数:15,代码来源:test_config_wrapper.py


示例8: test_build_respects_pdf_flag

    def test_build_respects_pdf_flag(self, load_config):
        '''Build output format control'''
        load_config.side_effect = create_load()
        project = get(Project,
                      slug='project-1',
                      documentation_type='sphinx',
                      conf_py_file='test_conf.py',
                      enable_pdf_build=True,
                      enable_epub_build=False,
                      versions=[fixture()])
        version = project.versions.all()[0]

        build_env = LocalBuildEnvironment(project=project, version=version, build={})
        python_env = Virtualenv(version=version, build_env=build_env)
        config = load_yaml_config(version)
        task = UpdateDocsTaskStep(build_env=build_env, project=project, python_env=python_env,
                              version=version, search=False, localmedia=False, config=config)

        task.build_docs()

        # The HTML and the Epub format were built.
        self.mocks.html_build.assert_called_once_with()
        self.mocks.pdf_build.assert_called_once_with()
        # PDF however was disabled and therefore not built.
        self.assertFalse(self.mocks.epub_build.called)
开发者ID:homerjonathan,项目名称:readthedocs.org,代码行数:25,代码来源:test_builds.py


示例9: run

    def run(self, pk, version_pk=None, build_pk=None, record=True, docker=False,
            search=True, force=False, localmedia=True, **kwargs):

        self.project = self.get_project(pk)
        self.version = self.get_version(self.project, version_pk)
        self.build = self.get_build(build_pk)
        self.build_search = search
        self.build_localmedia = localmedia
        self.build_force = force

        self.config = load_yaml_config(version=self.version)

        env_cls = LocalEnvironment
        if docker or settings.DOCKER_ENABLE:
            env_cls = DockerEnvironment
        self.build_env = env_cls(project=self.project, version=self.version,
                                 build=self.build, record=record)

        python_env_cls = Virtualenv
        if self.config.use_conda:
            python_env_cls = Conda
        self.python_env = python_env_cls(version=self.version,
                                         build_env=self.build_env,
                                         config=self.config)

        with self.build_env:
            if self.project.skip:
                raise BuildEnvironmentError(
                    _('Builds for this project are temporarily disabled'))
            try:
                self.setup_vcs()
            except vcs_support_utils.LockTimeout, e:
                self.retry(exc=e, throw=False)
                raise BuildEnvironmentError(
                    'Version locked, retrying in 5 minutes.',
                    status_code=423
                )

            if self.project.documentation_type == 'auto':
                self.update_documentation_type()

            self.setup_environment()

            # TODO the build object should have an idea of these states, extend
            # the model to include an idea of these outcomes
            outcomes = self.build_docs()
            build_id = self.build.get('id')

            # Web Server Tasks
            if build_id:
                finish_build.delay(
                    version_pk=self.version.pk,
                    build_pk=build_id,
                    hostname=socket.gethostname(),
                    html=outcomes['html'],
                    search=outcomes['search'],
                    localmedia=outcomes['localmedia'],
                    pdf=outcomes['pdf'],
                    epub=outcomes['epub'],
                )
开发者ID:tomck,项目名称:readthedocs.org,代码行数:60,代码来源:tasks.py


示例10: test_python_supported_versions_image_latest

 def test_python_supported_versions_image_latest(self, load_config):
     load_config.side_effect = create_load()
     self.project.container_image = 'readthedocs/build:latest'
     self.project.save()
     config = load_yaml_config(self.version)
     self.assertEqual(config._yaml_config.get_valid_python_versions(),
                      [2, 2.7, 3, 3.3, 3.4, 3.5, 3.6])
开发者ID:gmiddlecote,项目名称:readthedocs.org,代码行数:7,代码来源:test_config_wrapper.py


示例11: test_python_supported_versions_default_image_1_0

    def test_python_supported_versions_default_image_1_0(self, load_config):
        load_config.side_effect = create_load()
        self.project.container_image = 'readthedocs/build:1.0'
        self.project.enable_epub_build = True
        self.project.enable_pdf_build = True
        self.project.save()
        config = load_yaml_config(self.version)

        expected_env_config = {
            'build': {'image': 'readthedocs/build:1.0'},
            'defaults': {
                'install_project': self.project.install_project,
                'formats': [
                    'htmlzip',
                    'epub',
                    'pdf'
                ],
                'use_system_packages': self.project.use_system_packages,
                'requirements_file': self.project.requirements_file,
                'python_version': 3,
                'sphinx_configuration': mock.ANY,
                'build_image': 'readthedocs/build:1.0',
                'doctype': self.project.documentation_type,
            },
        }

        img_settings = DOCKER_IMAGE_SETTINGS.get(self.project.container_image, None)
        if img_settings:
            expected_env_config.update(img_settings)

        load_config.assert_called_once_with(
                path=mock.ANY,
                env_config=expected_env_config,
        )
        self.assertEqual(config.python.version, 3)
开发者ID:chrisjsewell,项目名称:readthedocs.org,代码行数:35,代码来源:test_config_integration.py


示例12: test_build

    def test_build(self, load_config):
        '''Test full build'''
        load_config.side_effect = create_load()
        project = get(Project,
                      slug='project-1',
                      documentation_type='sphinx',
                      conf_py_file='test_conf.py',
                      versions=[fixture()])
        version = project.versions.all()[0]
        self.mocks.configure_mock('api_versions', {'return_value': [version]})
        self.mocks.configure_mock('api', {
            'get.return_value': {'downloads': "no_url_here"}
        })
        self.mocks.patches['html_build'].stop()

        build_env = LocalBuildEnvironment(project=project, version=version, build={})
        python_env = Virtualenv(version=version, build_env=build_env)
        config = load_yaml_config(version)
        task = UpdateDocsTaskStep(build_env=build_env, project=project, python_env=python_env,
                              version=version, search=False, localmedia=False, config=config)
        task.build_docs()

        # Get command and check first part of command list is a call to sphinx
        self.assertEqual(self.mocks.popen.call_count, 3)
        cmd = self.mocks.popen.call_args_list[2][0]
        self.assertRegexpMatches(cmd[0][0], r'python')
        self.assertRegexpMatches(cmd[0][1], r'sphinx-build')
开发者ID:homerjonathan,项目名称:readthedocs.org,代码行数:27,代码来源:test_builds.py


示例13: test_dont_localmedia_build_pdf_epub_search_in_mkdocs

    def test_dont_localmedia_build_pdf_epub_search_in_mkdocs(self, load_config):
        load_config.side_effect = create_load()
        project = get(
            Project,
            slug='project-1',
            documentation_type='mkdocs',
            enable_pdf_build=True,
            enable_epub_build=True,
            versions=[fixture()],
        )
        version = project.versions.all().first()

        build_env = LocalBuildEnvironment(
            project=project,
            version=version,
            build={},
        )
        python_env = Virtualenv(version=version, build_env=build_env)
        config = load_yaml_config(version)
        task = UpdateDocsTaskStep(
            build_env=build_env, project=project, python_env=python_env,
            version=version, config=config,
        )

        task.build_docs()

        # Only html for mkdocs was built
        self.mocks.html_build_mkdocs.assert_called_once()
        self.mocks.html_build.assert_not_called()
        self.mocks.localmedia_build.assert_not_called()
        self.mocks.pdf_build.assert_not_called()
        self.mocks.epub_build.assert_not_called()
开发者ID:chrisjsewell,项目名称:readthedocs.org,代码行数:32,代码来源:test_builds.py


示例14: run

    def run(self, pk, version_pk=None, build_pk=None, record=True, docker=False,
            search=True, force=False, localmedia=True, **kwargs):

        self.project = self.get_project(pk)
        self.version = self.get_version(self.project, version_pk)
        self.build = self.get_build(build_pk)
        self.build_search = search
        self.build_localmedia = localmedia
        self.build_force = force

        env_cls = LocalEnvironment
        self.setup_env = env_cls(project=self.project, version=self.version,
                                 build=self.build, record=record)

        # Environment used for code checkout & initial configuration reading
        with self.setup_env:
            if self.project.skip:
                raise BuildEnvironmentError(
                    _('Builds for this project are temporarily disabled'))
            try:
                self.setup_vcs()
            except vcs_support_utils.LockTimeout, e:
                self.retry(exc=e, throw=False)
                raise BuildEnvironmentError(
                    'Version locked, retrying in 5 minutes.',
                    status_code=423
                )

            self.config = load_yaml_config(version=self.version)
开发者ID:flashpig,项目名称:readthedocs.org,代码行数:29,代码来源:tasks.py


示例15: test_python_set_python_version_on_project

 def test_python_set_python_version_on_project(self, load_config):
     load_config.side_effect = create_load()
     self.project.container_image = 'readthedocs/build:2.0'
     self.project.python_interpreter = 'python3'
     self.project.save()
     config = load_yaml_config(self.version)
     self.assertEqual(config.python_version, 3)
     self.assertEqual(config.python_interpreter, 'python3.5')
开发者ID:charlie-wong,项目名称:readthedocs.org,代码行数:8,代码来源:test_config_wrapper.py


示例16: __init__

 def __init__(self, version, build_env, config=None):
     self.version = version
     self.project = version.project
     self.build_env = build_env
     if config:
         self.config = config
     else:
         self.config = load_yaml_config(version)
     # Compute here, since it's used a lot
     self.checkout_path = self.project.checkout_path(self.version.slug)
开发者ID:manhhomienbienthuy,项目名称:readthedocs.org,代码行数:10,代码来源:python_environments.py


示例17: test_install_project

    def test_install_project(self, load_config):
        load_config.side_effect = create_load()
        config = load_yaml_config(self.version)
        self.assertEqual(len(config.python.install), 1)
        self.assertTrue(
            isinstance(config.python.install[0], PythonInstallRequirements)
        )

        load_config.side_effect = create_load({
            'python': {'setup_py_install': True},
        })
        config = load_yaml_config(self.version)
        self.assertEqual(len(config.python.install), 2)
        self.assertTrue(
            isinstance(config.python.install[0], PythonInstallRequirements)
        )
        self.assertEqual(
            config.python.install[1].method,
            SETUPTOOLS
        )
开发者ID:chrisjsewell,项目名称:readthedocs.org,代码行数:20,代码来源:test_config_integration.py


示例18: get_update_docs_task

    def get_update_docs_task(self):
        build_env = LocalBuildEnvironment(
            self.project, self.version, record=False,
        )

        update_docs = tasks.UpdateDocsTaskStep(
            build_env=build_env,
            config=load_yaml_config(self.version),
            project=self.project,
            version=self.version,
        )
        return update_docs
开发者ID:chrisjsewell,项目名称:readthedocs.org,代码行数:12,代码来源:test_config_integration.py


示例19: run_setup

    def run_setup(self, record=True):
        """
        Run setup in the local environment.

        Return True if successful.
        """
        self.setup_env = LocalEnvironment(
            project=self.project,
            version=self.version,
            build=self.build,
            record=record,
            update_on_success=False,
        )

        # Environment used for code checkout & initial configuration reading
        with self.setup_env:
            if self.project.skip:
                raise BuildEnvironmentError(
                    _('Builds for this project are temporarily disabled'))
            try:
                self.setup_vcs()
            except vcs_support_utils.LockTimeout as e:
                self.retry(exc=e, throw=False)
                raise BuildEnvironmentError(
                    'Version locked, retrying in 5 minutes.',
                    status_code=423
                )

            try:
                self.config = load_yaml_config(version=self.version)
            except ConfigError as e:
                raise BuildEnvironmentError(
                    'Problem parsing YAML configuration. {0}'.format(str(e))
                )

        if self.setup_env.failure or self.config is None:
            self._log('Failing build because of setup failure: %s' % self.setup_env.failure)

            # Send notification to users only if the build didn't fail because of
            # LockTimeout: this exception occurs when a build is triggered before the previous
            # one has finished (e.g. two webhooks, one after the other)
            if not isinstance(self.setup_env.failure, vcs_support_utils.LockTimeout):
                self.send_notifications()

            return False

        if self.setup_env.successful and not self.project.has_valid_clone:
            self.set_valid_clone()

        return True
开发者ID:devrkd,项目名称:readthedocs.org,代码行数:50,代码来源:tasks.py


示例20: test_build_pdf_latex_not_failure

    def test_build_pdf_latex_not_failure(self, load_config):
        """Test pass during PDF builds and bad latex failure status code."""

        load_config.side_effect = create_load()
        self.mocks.patches['html_build'].stop()
        self.mocks.patches['pdf_build'].stop()

        project = get(
            Project,
            slug='project-2',
            documentation_type='sphinx',
            conf_py_file='test_conf.py',
            enable_pdf_build=True,
            enable_epub_build=False,
            versions=[fixture()],
        )
        version = project.versions.all()[0]
        assert project.conf_dir() == '/tmp/rtd'

        build_env = LocalBuildEnvironment(project=project, version=version, build={})
        python_env = Virtualenv(version=version, build_env=build_env)
        config = load_yaml_config(version)
        task = UpdateDocsTaskStep(
            build_env=build_env, project=project, python_env=python_env,
            version=version, config=config,
        )

        # Mock out the separate calls to Popen using an iterable side_effect
        returns = [
            ((b'', b''), 0),  # sphinx-build html
            ((b'', b''), 0),  # sphinx-build pdf
            ((b'Output written on foo.pdf', b''), 1),  # latex
            ((b'', b''), 0),  # makeindex
            ((b'', b''), 0),  # latex
        ]
        mock_obj = mock.Mock()
        mock_obj.communicate.side_effect = [
            output for (output, status)
            in returns
        ]
        type(mock_obj).returncode = mock.PropertyMock(
            side_effect=[status for (output, status) in returns],
        )
        self.mocks.popen.return_value = mock_obj

        with build_env:
            task.build_docs()
        self.assertEqual(self.mocks.popen.call_count, 7)
        self.assertTrue(build_env.successful)
开发者ID:chrisjsewell,项目名称:readthedocs.org,代码行数:49,代码来源:test_builds.py



注:本文中的readthedocs.doc_builder.config.load_yaml_config函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python environments.BuildCommand类代码示例发布时间:2022-05-26
下一篇:
Python utils.trigger_build函数代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap