123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- #!/usr/bin/env python3
- import argparse
- import json
- import os
- import warnings
- from lib import git
- def export_patches(target, dry_run):
- repo = target.get('repo')
- if not os.path.exists(repo):
- warnings.warn(f'repo not found: {repo}')
- return
- git.export_patches(
- dry_run=dry_run,
- grep=target.get('grep'),
- out_dir=target.get('patch_dir'),
- repo=repo
- )
- def export_config(config, dry_run):
- for target in config:
- export_patches(target, dry_run)
- def parse_args():
- parser = argparse.ArgumentParser(description='Export Electron patches')
- parser.add_argument('config', nargs='+',
- type=argparse.FileType('r'),
- help='patches\' config(s) in the JSON format')
- parser.add_argument("-d", "--dry-run",
- help="Checks whether the exported patches need to be updated.",
- default=False, action='store_true')
- return parser.parse_args()
- def main():
- configs = parse_args().config
- dry_run = parse_args().dry_run
- for config_json in configs:
- export_config(json.load(config_json), dry_run)
- if __name__ == '__main__':
- main()
|