commit:     0f075baba8e3accc124c9c599c90603e17cdf6a5
Author:     Benjamin Gordon <bmgordon <AT> chromium <DOT> org>
AuthorDate: Tue Feb  4 18:40:13 2020 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Feb 18 00:00:12 2023 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=0f075bab

emerge: Factor out two functions

Will be used in the next commit.

Reviewed-by: Mike Frysinger <vapier <AT> chromium.org>
Reviewed-by: Chris McDonald <cjmcdonald <AT> chromium.org>
Signed-off-by: Benjamin Gordon <bmgordon <AT> chromium.org>
Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 lib/_emerge/PackageMerge.py | 42 +++++++++++++++++++++++++-----------------
 1 file changed, 25 insertions(+), 17 deletions(-)

diff --git a/lib/_emerge/PackageMerge.py b/lib/_emerge/PackageMerge.py
index 8272511a1..f9e6bf8fe 100644
--- a/lib/_emerge/PackageMerge.py
+++ b/lib/_emerge/PackageMerge.py
@@ -9,13 +9,33 @@ from portage.output import colorize
 class PackageMerge(CompositeTask):
     __slots__ = ("merge", "postinst_failure")
 
+    def _should_show_status(self):
+        return (
+            not self.merge.build_opts.fetchonly
+            and not self.merge.build_opts.pretend
+            and not self.merge.build_opts.buildpkgonly
+        )
+
+    def _make_msg(self, pkg, action_desc, preposition, counter_str):
+        pkg_color = "PKG_MERGE"
+        if pkg.type_name == "binary":
+            pkg_color = "PKG_BINARY_MERGE"
+
+        msg = "{} {}{}".format(
+            action_desc,
+            counter_str,
+            colorize(pkg_color, pkg.cpv + _repo_separator + pkg.repo),
+        )
+
+        if pkg.root_config.settings["ROOT"] != "/":
+            msg += f" {preposition} {pkg.root}"
+
+        return msg
+
     def _start(self):
         self.scheduler = self.merge.scheduler
         pkg = self.merge.pkg
         pkg_count = self.merge.pkg_count
-        pkg_color = "PKG_MERGE"
-        if pkg.type_name == "binary":
-            pkg_color = "PKG_BINARY_MERGE"
 
         if pkg.installed:
             action_desc = "Uninstalling"
@@ -29,20 +49,8 @@ class PackageMerge(CompositeTask):
                 colorize("MERGE_LIST_PROGRESS", str(pkg_count.maxval)),
             )
 
-        msg = "{} {}{}".format(
-            action_desc,
-            counter_str,
-            colorize(pkg_color, pkg.cpv + _repo_separator + pkg.repo),
-        )
-
-        if pkg.root_config.settings["ROOT"] != "/":
-            msg += f" {preposition} {pkg.root}"
-
-        if (
-            not self.merge.build_opts.fetchonly
-            and not self.merge.build_opts.pretend
-            and not self.merge.build_opts.buildpkgonly
-        ):
+        if self._should_show_status():
+            msg = self._make_msg(pkg, action_desc, preposition, counter_str)
             self.merge.statusMessage(msg)
 
         task = self.merge.create_install_task()

Reply via email to