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_source_python_docs(self):
     """Create a Sphinx project for Source.Python."""
     project = SphinxProject(SP_PACKAGES_PATH, SP_DOCS_PATH)
     if project.project_exists():
         self.logger.log_message(
             'Sphinx project already exists for Source.Python')
     else:
         try:
             project.create(
                 'Source.Python Development Team', 'Source.Python', VERSION)
         except:
             self.logger.log_message(
                 'An error occured while creating Sphinx ' +
                 'project for Source.Python.')
         else:
             self.logger.log_message(
                 'Sphinx project has been created for Source.Python.')
Esempio n. 7
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. 8
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. 9
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. 10
0
 def _create_plugin_docs(self, package):
     """Create a Sphinx project for a plugin."""
     project = SphinxProject(
         PLUGIN_PATH / package, PLUGIN_DOCS_PATH / package)
     if project.project_exists():
         self.logger.log_message(
             'Sphinx project already exists for ' +
             'plugin "{0}".'.format(package))
     else:
         try:
             project.create('Unknown')
         except:
             self.logger.log_message(
                 'An error occured while creating Sphinx project ' +
                 'for plugin "{0}".'.format(package))
         else:
             self.logger.log_message(
                 'Sphinx project has been created for' +
                 ' plugin "{0}".'.format(package))
Esempio n. 11
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.')
Esempio n. 12
0
 def _generate_plugin_docs(self, 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:
             self.logger.log_message(
                 'An error occured while generating project ' +
                 'files for plugin "{0}".'.format(package))
         else:
             self.logger.log_message(
                 'Project files have been generated ' +
                 'for plugin "{0}".'.format(package))
     else:
         self.logger.log_message(
             'Sphinx project does not exist for' +
             ' plugin "{0}".'.format(package))
Esempio n. 13
0
 def _create_custom_package_docs(self, package):
     """Create a Sphinx project for a custom package."""
     project = SphinxProject(
         CUSTOM_PACKAGES_PATH / package,
         CUSTOM_PACKAGES_DOCS_PATH / package)
     if project.project_exists():
         self.logger.log_message(
             'Sphinx project already exists for custom' +
             ' package "{0}".'.format(package))
     else:
         try:
             project.create('Unknown')
         except:
             self.logger.log_message(
                 'An error occured while creating Sphinx project for ' +
                 'custom package "{0}".'.format(package))
         else:
             self.logger.log_message(
                 'Sphinx project has been created for' +
                 ' custom package "{0}".'.format(package))
Esempio n. 14
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. 15
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))
Esempio n. 16
0
    def _generate_source_python_docs(self):
        """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:
                self.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'):
                    self._prepare_generated_source_python_file(file_path)

                self.logger.log_message(
                    'Project files have been generated for Source.Python.')
        else:
            self.logger.log_message(
                'Sphinx project does not exist for Source.Python.')
Esempio n. 17
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.')
Esempio n. 18
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))