本文整理汇总了Python中readthedocs.doc_builder.config.load_yaml_config函数的典型用法代码示例。如果您正苦于以下问题:Python load_yaml_config函数的具体用法?Python load_yaml_config怎么用?Python load_yaml_config使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了load_yaml_config函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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, [])
示例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)
示例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)
示例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')
示例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,
[]
)
示例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')
示例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)
示例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)
示例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'],
)
示例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])
示例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)
示例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')
示例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()
示例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)
示例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')