Task: precalculate _hash_value
authorZac Medico <zmedico@gentoo.org>
Fri, 20 May 2011 06:31:55 +0000 (23:31 -0700)
committerZac Medico <zmedico@gentoo.org>
Fri, 20 May 2011 06:31:55 +0000 (23:31 -0700)
pym/_emerge/Blocker.py
pym/_emerge/Package.py
pym/_emerge/Task.py

index 4f61c887d341477a2d3c876cd92c5065fb19df3b..93046069d8ec6b59085437b63a40d19a0faa5255 100644 (file)
@@ -12,3 +12,4 @@ class Blocker(Task):
                Task.__init__(self, **kwargs)
                self.cp = self.atom.cp
                self._hash_key = ("blocks", self.root, self.atom, self.eapi)
+               self._hash_value = hash(self._hash_key)
index 067d628cac5addc6ff1d33d0035e6b79baf6dee0..6847a32408fd212b459235feffcf4007c77d67e7 100644 (file)
@@ -89,6 +89,7 @@ class Package(Task):
                        repo_key = self.type_name
                self._hash_key = \
                        (self.type_name, self.root, self.cpv, self.operation, repo_key)
+               self._hash_value = hash(self._hash_key)
 
        def _validate_deps(self):
                """
index 3dd11930494d6b3ccc97f784384636df7d519a8c..4dbdb11854f0cfa95210b117c1551c0a7dde1596 100644 (file)
@@ -12,9 +12,6 @@ class Task(SlotObject):
                return self._hash_key != other
 
        def __hash__(self):
-               hash_value = getattr(self, "_hash_value", None)
-               if hash_value is None:
-                       self._hash_value = hash(self._hash_key)
                return self._hash_value
 
        def __len__(self):