]> git.scottworley.com Git - pinch/commitdiff
Specify channels to pin on command line 1.1
authorScott Worley <scottworley@scottworley.com>
Sun, 12 Apr 2020 16:54:57 +0000 (09:54 -0700)
committerScott Worley <scottworley@scottworley.com>
Sun, 12 Apr 2020 16:54:57 +0000 (09:54 -0700)
No specified channels -> pin all channels (which is an unfortunate
interface for scripting.  Sorry).

pinch.py

index 6bd7dd3d256f8021755ebb269851ee084f0c3599..8bda816bd2c2d80f86bb7ae8416cefe95d4aa998 100644 (file)
--- a/pinch.py
+++ b/pinch.py
@@ -458,6 +458,8 @@ def pin(args: argparse.Namespace) -> None:
     config = configparser.ConfigParser()
     config.read_file(open(args.channels_file), args.channels_file)
     for section in config.sections():
+        if args.channels and section not in args.channels:
+            continue
 
         channel = Channel(**dict(config[section].items()))
         if hasattr(channel, 'git_revision'):
@@ -516,6 +518,7 @@ def main() -> None:
     subparsers = parser.add_subparsers(dest='mode', required=True)
     parser_pin = subparsers.add_parser('pin')
     parser_pin.add_argument('channels_file', type=str)
+    parser_pin.add_argument('channels', type=str, nargs='*')
     parser_pin.set_defaults(func=pin)
     parser_update = subparsers.add_parser('update')
     parser_update.add_argument('channels_file', type=str)