:py:mod:`buildtest.cli.config` ============================== .. py:module:: buildtest.cli.config Module Contents --------------- Functions ~~~~~~~~~ .. autoapisummary:: buildtest.cli.config.config_cmd buildtest.cli.config.handle_view_command buildtest.cli.config.handle_profiles_command buildtest.cli.config.handle_executors_command buildtest.cli.config.handle_validate_command buildtest.cli.config.handle_systems_command buildtest.cli.config.handle_edit_command buildtest.cli.config.handle_path_command buildtest.cli.config.edit_configuration buildtest.cli.config.view_system buildtest.cli.config.validate_config buildtest.cli.config.view_path buildtest.cli.config.view_configuration buildtest.cli.config.remove_profiles buildtest.cli.config.list_profiles buildtest.cli.config.display_executors_in_json_format buildtest.cli.config.display_executors_in_yaml_format buildtest.cli.config.display_disabled_executors buildtest.cli.config.display_invalid_executors buildtest.cli.config.display_all_executors buildtest.cli.config.view_executors buildtest.cli.config.remove_executors .. py:function:: config_cmd(command_args, configuration, editor, system) Entry point for ``buildtest config`` command. This method will invoke other methods depending on input argument. :param command_args: Parsed arguments from `ArgumentParser.parse_args `_ :type command_args: dict :param configuration: An instance of SiteConfiguration class :type configuration: buildtest.config.SiteConfiguration :param system: An instance of BuildTestSystem class :type system: buildtest.system.BuildTestSystem .. py:function:: handle_view_command(command_args, configuration) .. py:function:: handle_profiles_command(command_args, configuration) .. py:function:: handle_executors_command(command_args, configuration) .. py:function:: handle_validate_command(command_args, configuration, system) .. py:function:: handle_systems_command(command_args, configuration) .. py:function:: handle_edit_command(command_args, configuration, editor) .. py:function:: handle_path_command(command_args, configuration) .. py:function:: edit_configuration(configuration, editor) This method will open configuration file in editor. The preferred editor will be determined based on environment variable ``EDITOR`` if found otherwise will resort to ``vim``. :param configuration: Instance of SiteConfiguration class used for storing buildtest configuration :type configuration: buildtest.config.SiteConfiguration .. py:function:: view_system(configuration) This method implements command ``buildtest config systems`` which displays system details from configuration file in table format. :param configuration: An instance of SiteConfiguration class :type configuration: buildtest.config.SiteConfiguration .. py:function:: validate_config(configuration) This method implements ``buildtest config validate`` which attempts to validate buildtest schema file `settings.schema.json `_. If it's not validate an exception is raised which could be `jsonschema.exceptions.ValidationError `_ or :class:`buildtest.exceptions.ConfigurationError`. If configuration is valid buildtest print something as follows. .. code-block:: console bash-3.2$ buildtest config validate /Users/siddiq90/Documents/GitHubDesktop/buildtest/buildtest/settings/config.yml is valid If there is an error validating configuration file, buildtest will print error message reported by exception :param configuration: An instance of SiteConfiguration class :type configuration: buildtest.config.SiteConfiguration :raises SystemExit: If exception is raised during validating configuration file. .. py:function:: view_path(configuration) Display the path to configuration file regardless if file is valid. This implements command ``buildtest config path`` :param configuration: An instance of SiteConfiguration class :type configuration: buildtest.config.SiteConfiguration .. py:function:: view_configuration(configuration, theme=None, pager=None) Display content of buildtest configuration file. This implements command ``buildtest config view`` :param configuration: An instance of SiteConfiguration class :type configuration: buildtest.config.SiteConfiguration :param theme: Color theme to choose. This is the Pygments style (https://pygments.org/docs/styles/#getting-a-list-of-available-styles) which is specified by ``--theme`` option :type theme: str, optional .. py:function:: remove_profiles(configuration, profile_name) This method will remove profile names from configuration file given a list of profile names. This method will be invoked when user runs ``buildtest config profiles remove`` command. :param configuration: An instance of SiteConfiguration class :type configuration: buildtest.config.SiteConfiguration :param profile_name: List of name of profile to remove :type profile_name: list .. py:function:: list_profiles(configuration, theme=None, print_yaml=None) Display the list of profile for buildtest configuration file. This implements command ``buildtest config profiles list`` :param configuration: An instance of SiteConfiguration class :type configuration: buildtest.config.SiteConfiguration :param theme: Color theme to choose. This is the Pygments style (https://pygments.org/docs/styles/#getting-a-list-of-available-styles) which is specified by ``--theme`` option :type theme: str, optional :param print_yaml: Display profiles in yaml format. This is specified by ``--yaml`` option :type print_yaml: bool, optional .. py:function:: display_executors_in_json_format(executor_settings) .. py:function:: display_executors_in_yaml_format(executor_settings) .. py:function:: display_disabled_executors(configuration) .. py:function:: display_invalid_executors(configuration) .. py:function:: display_all_executors(configuration) .. py:function:: view_executors(configuration, buildexecutor, display_in_json_format=False, display_in_yaml_format=False, display_disabled=False, display_invalid=False, display_all=False) Display executors from buildtest configuration. This implements ``buildtest config executors list`` command. :param configuration: An instance of SiteConfiguration class :type configuration: buildtest.config.SiteConfiguration :param buildexecutor: An instance of BuildExecutor class :type buildexecutor: buildtest.executors.setup.BuildExecutor :param display_in_json_format: Display output in json format which is specified via ``buildtest config executors list --json`` :type display_in_json_format: bool :param display_in_yaml_format: Display output in yaml format which is specified via ``buildtest config executors list --yaml`` :type display_in_yaml_format: bool :param display_disabled: Display list of disabled executors which is specified via ``buildtest config executors list --disabled`` :type display_disabled: bool :param display_invalid: Display list of invalid executors which is specified via ``buildtest config executors list --invalid`` :type display_invalid: bool :param display_all: Display all executors which is specified via ``buildtest config executors list --all`` :type display_all: bool .. py:function:: remove_executors(configuration, executor_names) Remove executors from buildtest configuration. This implements ``buildtest config executors remove`` command. :param configuration: An instance of SiteConfiguration class :type configuration: buildtest.config.SiteConfiguration :param executor_names: List of executor names to remove :type executor_names: list