Source code for rosdistro.cli.rosdistro_migrate_to_rep_143

import argparse
import sys

from rosdistro.verify import _yaml_header_lines

import yaml


[docs]def migrate(index_yaml): data = yaml.safe_load(open(index_yaml, 'r')) assert data['type'] == 'index' assert data['version'] == 2 data['version'] = 3 for distro_name in data['distributions']: distro_data = data['distributions'][distro_name] distro_data['distribution'] = [distro_data['distribution']] for key in ['doc_builds', 'release_builds', 'source_builds']: if key in distro_data: del distro_data[key] yaml_str = index_to_yaml(data) yaml_str = '\n'.join(_yaml_header_lines('index', data['version'])) + '\n' + yaml_str with open(index_yaml + '.new', 'w') as f: f.write(yaml_str)
[docs]def index_to_yaml(data): yaml_str = yaml.dump(data, default_flow_style=None) return yaml_str
[docs]def main(): parser = argparse.ArgumentParser(description='Migrate the distros from REP 141 to REP 143.') parser.add_argument('index', help='The index.yaml file to migrate') args = parser.parse_args() migrate(args.index)
if __name__ == "__main__": sys.exit(main())