Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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())
Ejemplo n.º 3
0
# 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__))
Ejemplo n.º 4
0
# 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__))