]> git.scottworley.com Git - pinch/blobdiff - pinch.py
Specify channels to pin on command line
[pinch] / pinch.py
index 5bb4e955d4f996ad7513533a579abba98d6e58e0..8bda816bd2c2d80f86bb7ae8416cefe95d4aa998 100644 (file)
--- a/pinch.py
+++ b/pinch.py
@@ -215,7 +215,7 @@ def fetch_resources(v: Verification, channel: Channel) -> None:
 def git_cachedir(git_repo: str) -> str:
     # TODO: Consider using pyxdg to find this path.
     return os.path.expanduser(
-        '~/.cache/nix-pin-channel/git/%s' %
+        '~/.cache/pinch/git/%s' %
         digest_string(
             git_repo.encode()))
 
@@ -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)