def main(): runner_names = get_available_backends() for runner_name in runner_names: runner_driver = get_backend_driver(runner_name) runner_metadata = runner_driver.get_metadata() if runner_metadata.get('experimental', False): continue result = [] result.append(HEADER) result.append('') runner_parameters = runner_metadata.get('runner_parameters', None) if runner_parameters: for name, values in runner_parameters.items(): format_values = {'name': name} format_values.update(values) line = '* ``%(name)s`` (%(type)s) - %(description)s' % format_values result.append(line) file_name = runner_metadata['name'].replace('-', '_') path = '../docs/source/_includes/runner_parameters/%s.rst' % ( file_name) destination_path = os.path.join(CURRENT_DIR, path) result = '\n'.join(result) with open(destination_path, 'w') as fp: fp.write(result)
def generate_runner_parameter_quick_reference_table(all_runner_names): runner_names = [] runners = {} for runner_name in sorted(all_runner_names): if runner_name != 'python-script' and (runner_name.endswith('cmd') or runner_name.endswith('script')): runner_names.append(runner_name) runner_driver = get_backend_driver(runner_name) runner_metadata = runner_driver.get_metadata() runner_parameters = runner_metadata.get('runner_parameters', []) runners[runner_name] = [] for parameter in runner_parameters: runners[runner_name].append(parameter) table_header = runner_names.copy() table_header.insert(0, 'Runner') parameters = [] for runner_group, runner_parameters in RUNNER_PARAMETER_MAPPINGS.items(): if runner_parameters: parameters.append([f'{runner_group}']) for i, parameter in enumerate(runner_parameters): if i > 0: parameters.append(['']) for runner_name in runner_names: if parameter in runners[runner_name]: parameters[-1].append(f'``{parameter}``') runners[runner_name].remove(parameter) else: parameters[-1].append('') # Add any unrecognized parameters in an 'Other' group if any(runners.values()): other_parameters = set() for runner_parameters in runners.values(): other_parameters |= set(runner_parameters) if other_parameters: parameters.append(['Other']) for i, parameter in enumerate(sorted(other_parameters)): if i > 0: parameters.append(['']) for runner_name in runner_names: if parameter in runners[runner_name]: parameters[-1].append(f'``{parameter}``') runners[runner_name].remove(parameter) else: parameters[-1].append('') writer = Writer( margin=1, headers=table_header, value_matrix=parameters) return post_process_quick_reference_table(writer.dumps())
# The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. from __future__ import absolute_import from st2common.runners import get_available_backends from st2common.runners import get_backend_driver from st2common import config config.parse_args() runner_names = get_available_backends() print('Available / installed action runners:') for name in runner_names: runner_driver = get_backend_driver(name) runner_instance = runner_driver.get_runner() runner_metadata = runner_driver.get_metadata() print('- %s (runner_module=%s,cls=%s)' % (name, runner_metadata['runner_module'], runner_instance.__class__))
# Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. from __future__ import absolute_import from st2common.runners import get_available_backends from st2common.runners import get_backend_driver from st2common import config config.parse_args() runner_names = get_available_backends() print('Available / installed action runners:') for name in runner_names: runner_driver = get_backend_driver(name) runner_instance = runner_driver.get_runner() runner_metadata = runner_driver.get_metadata() print('- %s (runner_module=%s,cls=%s)' % (name, runner_metadata['runner_module'], runner_instance.__class__))