diff options
author | Zac Medico <zmedico@gentoo.org> | 2012-02-17 14:49:36 -0800 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2012-02-17 14:49:36 -0800 |
commit | 6e6ef6f87f8cb2d51a53b2d4417c4b370f7ca495 (patch) | |
tree | 931e2031597528b777e1bb647ab92acbeb13b9af /pym/_emerge/SlotObject.py | |
parent | 17f1186cb6788c8978b8d231393a03736edc2dfd (diff) | |
download | portage-6e6ef6f87f8cb2d51a53b2d4417c4b370f7ca495.tar.gz portage-6e6ef6f87f8cb2d51a53b2d4417c4b370f7ca495.tar.bz2 portage-6e6ef6f87f8cb2d51a53b2d4417c4b370f7ca495.zip |
Move _emerge.SlotObject to portage.util.
Diffstat (limited to 'pym/_emerge/SlotObject.py')
-rw-r--r-- | pym/_emerge/SlotObject.py | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/pym/_emerge/SlotObject.py b/pym/_emerge/SlotObject.py deleted file mode 100644 index a59dfc199..000000000 --- a/pym/_emerge/SlotObject.py +++ /dev/null @@ -1,51 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -class SlotObject(object): - __slots__ = ("__weakref__",) - - def __init__(self, **kwargs): - classes = [self.__class__] - while classes: - c = classes.pop() - if c is SlotObject: - continue - classes.extend(c.__bases__) - slots = getattr(c, "__slots__", None) - if not slots: - continue - for myattr in slots: - myvalue = kwargs.pop(myattr, None) - if myvalue is None and getattr(self, myattr, None) is not None: - raise AssertionError( - "class '%s' duplicates '%s' value in __slots__ of base class '%s'" % - (self.__class__.__name__, myattr, c.__name__)) - setattr(self, myattr, myvalue) - - if kwargs: - raise TypeError( - "'%s' is an invalid keyword argument for this constructor" % - (next(iter(kwargs)),)) - - def copy(self): - """ - Create a new instance and copy all attributes - defined from __slots__ (including those from - inherited classes). - """ - obj = self.__class__() - - classes = [self.__class__] - while classes: - c = classes.pop() - if c is SlotObject: - continue - classes.extend(c.__bases__) - slots = getattr(c, "__slots__", None) - if not slots: - continue - for myattr in slots: - setattr(obj, myattr, getattr(self, myattr)) - - return obj - |