emirrordist: allow missing --repo if exactly one
authorZac Medico <zmedico@gentoo.org>
Mon, 12 Aug 2013 23:08:12 +0000 (16:08 -0700)
committerZac Medico <zmedico@gentoo.org>
Mon, 12 Aug 2013 23:08:12 +0000 (16:08 -0700)
pym/portage/_emirrordist/main.py

index becd11b7bea8a02c69e910cac8df7c9a14244287..3c7b81a37b1f8bdc39affe797f3a69f7f27ccf5c 100644 (file)
@@ -244,9 +244,6 @@ def emirrordist_main(args):
 
        config_root = options.config_root
 
-       if options.repo is None:
-               parser.error("--repo option is required")
-
        if options.portdir is not None:
                writemsg_level("emirrordist: warning: --portdir option is deprecated in favor of --repositories-configuration option\n",
                        level=logging.WARNING, noiselevel=-1)
@@ -275,6 +272,16 @@ def emirrordist_main(args):
                settings = portage.config(config_root=config_root,
                        local_config=False, env=env)
 
+       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,))