egencache: allow missing --repo if exactly 1 repo
authorZac Medico <zmedico@gentoo.org>
Mon, 12 Aug 2013 23:01:20 +0000 (16:01 -0700)
committerZac Medico <zmedico@gentoo.org>
Mon, 12 Aug 2013 23:03:22 +0000 (16:03 -0700)
bin/egencache

index 45d4fbdbc16ec8cab9f92c4694d5e37992f9b1e3..3859a06a09701f1786e10951496e35e4313b091b 100755 (executable)
@@ -207,9 +207,6 @@ def parse_args(args):
                        parser.error("Write access denied: --cache-dir='%s'" % \
                                (options.cache_dir,))
 
-       if options.repo is None:
-               parser.error("--repo option is required")
-
        if options.portdir is not None:
                writemsg_level("egencache: warning: --portdir option is deprecated in favor of --repositories-configuration option\n",
                        level=logging.WARNING, noiselevel=-1)
@@ -894,6 +891,16 @@ def egencache_main(args):
                parser.error('No action specified')
                return 1
 
+       if options.repo is None:
+               if len(settings.repositories.prepos) == 2:
+                       for repo in settings.repositories:
+                               if repo.name != "DEFAULT":
+                                       options.repo = repo.name
+                                       break
+
+               if options.repo is None:
+                       parser.error("--repo option is required")
+
        repo_path = settings.repositories.treemap.get(options.repo)
        if repo_path is None:
                parser.error("Unable to locate repository named '%s'" % (options.repo,))