Skip to content
Snippets Groups Projects
Select Git revision
  • 39e3a0b18b3cc752d869a0bf79657e9dbd659ed5
  • main default protected
2 results

entrypoint.sh

Blame
  • galaxyfy-module-EXAMPLES.py 2.05 KiB
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    # Authors:
    #   Thomas Woerner <twoerner@redhat.com>
    #
    # Copyright (C) 2020 Red Hat
    # see file 'COPYING' for use and warranty information
    #
    # This program is free software; you can redistribute it and/or modify
    # it under the terms of the GNU General Public License as published by
    # the Free Software Foundation, either version 3 of the License, or
    # (at your option) any later version.
    #
    # This program is distributed in the hope that it will be useful,
    # but WITHOUT ANY WARRANTY; without even the implied warranty of
    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    # GNU General Public License for more details.
    #
    # You should have received a copy of the GNU General Public License
    # along with this program.  If not, see <http://www.gnu.org/licenses/>.
    
    import sys
    from galaxyfy import galaxyfy_playbook
    
    
    def module_EXAMPLES(module_in, project_prefix, collection_prefix):
        out_lines = []
    
        with open(module_in) as in_f:
            changed = False
            example = False
            example_lines = []
            for line in in_f:
                stripped = line.strip()
                if stripped in ['EXAMPLES = """', "EXAMPLES = '''"]:
                    example = True
                    out_lines.append(line)
                    continue
                if example and stripped in ["'''", '"""']:
                    _out_lines, _changed = \
                        galaxyfy_playbook(project_prefix, collection_prefix,
                                          example_lines)
                    for _line in _out_lines:
                        out_lines.append(_line)
                    example_lines = []
                    if _changed:
                        changed = True
                    example = False
                    out_lines.append(line)
                    continue
                if example:
                    example_lines.append(line)
                else:
                    out_lines.append(line)
    
        if changed:
            with open(module_in, "w") as out_f:
                for line in out_lines:
                    out_f.write(line)
    
    
    module_EXAMPLES(sys.argv[1], sys.argv[2], sys.argv[3])