Пример #1
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))
Пример #2
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.')
Пример #3
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))
Пример #4
0
 def _build_custom_package_docs(self, 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:
             self.logger.log_message(
                 'An error occured while building project ' +
                 'files for custom package "{0}".'.format(package))
         else:
             self.logger.log_message(
                 'Project files have been built for ' +
                 'custom package "{0}".'.format(package))
     else:
         self.logger.log_message(
             'Sphinx project does not exist for ' +
             'custom package "{0}".'.format(package))
Пример #5
0
    def _build_source_python_docs(self):
        """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 = VERSION if VERSION == 'unversioned' else (
                'v{0}'.format(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(self._get_updated_credits_wiki())

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

            try:
                project.build()
            except:
                self.logger.log_message(
                    'An error occured while building project ' +
                    'files for plugin "{0}".'.format(package))
            else:
                self.logger.log_message(
                    'Project files have been built for ' +
                    'plugin "{0}".'.format(package))
        else:
            self.logger.log_message(
                'Sphinx project does not exist for ' +
                'plugin "{0}".'.format(package))