17ec681f3Smrg#!/usr/bin/python3 27ec681f3Smrg 37ec681f3Smrg# Copyright (c) 2019 Collabora Ltd 47ec681f3Smrg# Copyright (c) 2020 Valve Corporation 57ec681f3Smrg# 67ec681f3Smrg# Permission is hereby granted, free of charge, to any person obtaining a 77ec681f3Smrg# copy of this software and associated documentation files (the "Software"), 87ec681f3Smrg# to deal in the Software without restriction, including without limitation 97ec681f3Smrg# the rights to use, copy, modify, merge, publish, distribute, sublicense, 107ec681f3Smrg# and/or sell copies of the Software, and to permit persons to whom the 117ec681f3Smrg# Software is furnished to do so, subject to the following conditions: 127ec681f3Smrg# 137ec681f3Smrg# The above copyright notice and this permission notice shall be included 147ec681f3Smrg# in all copies or substantial portions of the Software. 157ec681f3Smrg# 167ec681f3Smrg# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 177ec681f3Smrg# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 187ec681f3Smrg# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 197ec681f3Smrg# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 207ec681f3Smrg# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 217ec681f3Smrg# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 227ec681f3Smrg# OTHER DEALINGS IN THE SOFTWARE. 237ec681f3Smrg# 247ec681f3Smrg# SPDX-License-Identifier: MIT 257ec681f3Smrg 267ec681f3Smrgimport argparse 277ec681f3Smrgimport yaml 287ec681f3Smrg 297ec681f3Smrgdef cmd_fossils_db_repo(args): 307ec681f3Smrg with open(args.file, 'r') as f: 317ec681f3Smrg y = yaml.safe_load(f) 327ec681f3Smrg print(y['fossils-db']['repo']) 337ec681f3Smrg 347ec681f3Smrgdef cmd_fossils_db_commit(args): 357ec681f3Smrg with open(args.file, 'r') as f: 367ec681f3Smrg y = yaml.safe_load(f) 377ec681f3Smrg print(y['fossils-db']['commit']) 387ec681f3Smrg 397ec681f3Smrgdef cmd_fossils(args): 407ec681f3Smrg with open(args.file, 'r') as f: 417ec681f3Smrg y = yaml.safe_load(f) 427ec681f3Smrg 437ec681f3Smrg fossils = list(y['fossils']) 447ec681f3Smrg if len(fossils) == 0: 457ec681f3Smrg return 467ec681f3Smrg 477ec681f3Smrg print('\n'.join((t['path'] for t in fossils))) 487ec681f3Smrg 497ec681f3Smrgdef main(): 507ec681f3Smrg parser = argparse.ArgumentParser() 517ec681f3Smrg parser.add_argument('--file', required=True, 527ec681f3Smrg help='the name of the yaml file') 537ec681f3Smrg 547ec681f3Smrg subparsers = parser.add_subparsers(help='sub-command help') 557ec681f3Smrg 567ec681f3Smrg parser_fossils_db_repo = subparsers.add_parser('fossils_db_repo') 577ec681f3Smrg parser_fossils_db_repo.set_defaults(func=cmd_fossils_db_repo) 587ec681f3Smrg 597ec681f3Smrg parser_fossils_db_commit = subparsers.add_parser('fossils_db_commit') 607ec681f3Smrg parser_fossils_db_commit.set_defaults(func=cmd_fossils_db_commit) 617ec681f3Smrg 627ec681f3Smrg parser_fossils = subparsers.add_parser('fossils') 637ec681f3Smrg parser_fossils.set_defaults(func=cmd_fossils) 647ec681f3Smrg 657ec681f3Smrg args = parser.parse_args() 667ec681f3Smrg args.func(args) 677ec681f3Smrg 687ec681f3Smrgif __name__ == "__main__": 697ec681f3Smrg main() 70