Esempio n. 1
0
def _build_source_python_docs():
    """Build Sphinx project files for Source.Python."""
    project = SphinxProject(SP_PACKAGES_PATH, SP_DOCS_PATH)
    if project.project_exists():
        # Update version and release
        conf_file = project.project_source_dir / 'conf.py'
        with conf_file.open() as f:
            lines = f.readlines()

        # Get the version string
        version = '' if is_unversioned() else f'v{VERSION}'

        with conf_file.open('w') as f:
            for line in lines:
                if line.startswith(('version', 'release')):
                    line = '{0} = \' {1}\'\n'.format(
                        line.split(maxsplit=1)[0], version)

                f.write(line)

        # Create/update credits.rst
        with project.project_source_dir.joinpath('general',
                                                 'credits.rst').open('w') as f:
            f.write(_get_updated_credits_wiki())

        try:
            project.build()
        except:
            logger.log_message('An error occured while building ' +
                               'project files for Source.Python.')
        else:
            logger.log_message(
                'Project files have been built for Source.Python.')
    else:
        logger.log_message('Sphinx project does not exist for Source.Python.')
Esempio n. 2
0
def _build_plugin_docs(package):
    """Build Sphinx project files for a plugin."""
    project = SphinxProject(
        PLUGIN_PATH / package, PLUGIN_DOCS_PATH / package)
    if project.project_exists():
        if not plugin_manager.is_loaded(package):
            logger.log_message(
                'Plugin must be loaded to build the project files.')
            return

        try:
            project.build()
        except:
            except_hooks.print_exception()
            logger.log_message(
                'An error occured while building project ' +
                'files for plugin "{0}".'.format(package))
        else:
            logger.log_message(
                'Project files have been built for ' +
                'plugin "{0}".'.format(package))
    else:
        logger.log_message(
            'Sphinx project does not exist for ' +
            'plugin "{0}".'.format(package))
Esempio n. 3
0
def _create_source_python_docs():
    """Create a Sphinx project for Source.Python."""
    project = SphinxProject(SP_PACKAGES_PATH, SP_DOCS_PATH)
    if project.project_exists():
        logger.log_message('Sphinx project already exists for Source.Python')
    else:
        try:
            project.create('Source.Python Development Team', 'Source.Python',
                           VERSION)
        except:
            logger.log_message('An error occured while creating Sphinx ' +
                               'project for Source.Python.')
        else:
            logger.log_message(
                'Sphinx project has been created for Source.Python.')
Esempio n. 4
0
def _generate_plugin_docs(package):
    """Generate Sphinx project files for a plugin."""
    project = SphinxProject(PLUGIN_PATH / package, PLUGIN_DOCS_PATH / package)
    if project.project_exists():
        try:
            project.generate_project_files()
        except:
            logger.log_message('An error occured while generating project ' +
                               'files for plugin "{0}".'.format(package))
        else:
            logger.log_message('Project files have been generated ' +
                               'for plugin "{0}".'.format(package))
    else:
        logger.log_message('Sphinx project does not exist for' +
                           ' plugin "{0}".'.format(package))
Esempio n. 5
0
def _create_plugin_docs(package):
    """Create a Sphinx project for a plugin."""
    project = SphinxProject(PLUGIN_PATH / package, PLUGIN_DOCS_PATH / package)
    if project.project_exists():
        logger.log_message('Sphinx project already exists for ' +
                           'plugin "{0}".'.format(package))
    else:
        try:
            project.create('Unknown')
        except:
            logger.log_message(
                'An error occured while creating Sphinx project ' +
                'for plugin "{0}".'.format(package))
        else:
            logger.log_message('Sphinx project has been created for' +
                               ' plugin "{0}".'.format(package))
Esempio n. 6
0
def _create_custom_package_docs(package):
    """Create a Sphinx project for a custom package."""
    project = SphinxProject(CUSTOM_PACKAGES_PATH / package,
                            CUSTOM_PACKAGES_DOCS_PATH / package)
    if project.project_exists():
        logger.log_message('Sphinx project already exists for custom' +
                           ' package "{0}".'.format(package))
    else:
        try:
            project.create('Unknown')
        except:
            logger.log_message(
                'An error occured while creating Sphinx project for ' +
                'custom package "{0}".'.format(package))
        else:
            logger.log_message('Sphinx project has been created for' +
                               ' custom package "{0}".'.format(package))
Esempio n. 7
0
def _build_custom_package_docs(package):
    """Build Sphinx project files for a custom package."""
    project = SphinxProject(CUSTOM_PACKAGES_PATH / package,
                            CUSTOM_PACKAGES_DOCS_PATH / package)
    if project.project_exists():
        try:
            project.build()
        except:
            logger.log_message(
                'An error occured while building project ' +
                'files for custom package "{0}".'.format(package))
        else:
            logger.log_message('Project files have been built for ' +
                               'custom package "{0}".'.format(package))
    else:
        logger.log_message('Sphinx project does not exist for ' +
                           'custom package "{0}".'.format(package))
Esempio n. 8
0
def _generate_custom_package_docs(package):
    """Generate Sphinx project files for a custom package."""
    project = SphinxProject(CUSTOM_PACKAGES_PATH / package,
                            CUSTOM_PACKAGES_DOCS_PATH / package)
    if project.project_exists():
        try:
            project.generate_project_files()
        except:
            logger.log_message(
                'An error occured while generating project ' +
                'files for custom package "{0}".'.format(package))
        else:
            logger.log_message('Project files have been generated for '
                               'custom package "{0}".'.format(package))
    else:
        logger.log_message('Sphinx project does not exist for ' +
                           'custom package "{0}".'.format(package))
Esempio n. 9
0
def _generate_source_python_docs():
    """Generate Sphinx project files for Source.Python."""
    project = SphinxProject(SP_PACKAGES_PATH, SP_DOCS_PATH)
    if project.project_exists():
        try:
            project.generate_project_files('developing/modules')
        except:
            logger.log_message('An error occured while generating ' +
                               'project files for Source.Python')
        else:
            modules_dir = project.project_source_dir / 'developing' / 'modules'
            modules_dir.joinpath('modules.rst').remove()
            for file_path in modules_dir.files('source-python.*.rst'):
                _prepare_generated_source_python_file(file_path)

            logger.log_message(
                'Project files have been generated for Source.Python.')
    else:
        logger.log_message('Sphinx project does not exist for Source.Python.')