Package.operation: eliminate duplicate code
authorZac Medico <zmedico@gentoo.org>
Wed, 22 Dec 2010 19:35:29 +0000 (11:35 -0800)
committerZac Medico <zmedico@gentoo.org>
Wed, 22 Dec 2010 22:43:35 +0000 (14:43 -0800)
pym/_emerge/Package.py

index 47a435f214516dae1b67e302245975068fbef195..13119d2294aed4bf4a2527bc3d06bd8f1696eb31 100644 (file)
@@ -67,6 +67,11 @@ class Package(Task):
                self._validate_deps()
                self.masks = self._masks()
                self.visible = self._visible(self.masks)
+               if self.operation is None:
+                       if self.onlydeps or self.installed:
+                               self.operation = "nomerge"
+                       else:
+                               self.operation = "merge"
 
        def _validate_deps(self):
                """
@@ -267,11 +272,6 @@ class Package(Task):
                msgs.append(msg)
 
        def __str__(self):
-               if self.operation is None:
-                       self.operation = "merge"
-                       if self.onlydeps or self.installed:
-                               self.operation = "nomerge"
-
                if self.operation == "merge":
                        if self.type_name == "binary":
                                cpv_color = "PKG_BINARY_MERGE"
@@ -406,10 +406,6 @@ class Package(Task):
        def _get_hash_key(self):
                hash_key = getattr(self, "_hash_key", None)
                if hash_key is None:
-                       if self.operation is None:
-                               self.operation = "merge"
-                               if self.onlydeps or self.installed:
-                                       self.operation = "nomerge"
                        self._hash_key = \
                                (self.type_name, self.root, self.cpv, self.operation)
                return self._hash_key