Atom: add a with_slot method for adding a slot
authorZac Medico <zmedico@gentoo.org>
Sat, 10 Sep 2011 14:25:19 +0000 (07:25 -0700)
committerZac Medico <zmedico@gentoo.org>
Sat, 10 Sep 2011 14:25:19 +0000 (07:25 -0700)
pym/portage/dep/__init__.py

index fd5ad3065e7b89349669f8ac54d2b2a5d66c2cc3..89b6f15475f4e6c2e09068533a04ea3498a12791 100644 (file)
@@ -1216,6 +1216,14 @@ class Atom(_atom_base):
                return Atom(self.replace(_slot_separator + self.slot, '', 1),
                        allow_repo=True, allow_wildcard=True)
 
+       def with_slot(self, slot):
+               atom = remove_slot(self) + _slot_separator + slot
+               if self.repo is not None:
+                       atom += _repo_separator + self.repo
+               if self.use is not None:
+                       atom += str(self.use)
+               return Atom(atom, allow_repo=True, allow_wildcard=True)
+
        def __setattr__(self, name, value):
                raise AttributeError("Atom instances are immutable",
                        self.__class__, name, value)