def test_pop(): set1 = OrderedSet('ab') elem = set1.pop() assert elem == 'b' elem = set1.pop() assert elem == 'a' pytest.raises(KeyError, set1.pop)
def Pyro4bot_Loader(clss, **kwargs): """ Decorator for load Json options in Pyro4bot objects init superclass control """ original_init = clss.__init__ supes = OrderedSet(clss.__mro__[::-1]) supes.pop() def init(self): for k, v in kwargs.items(): setattr(self, k, v) for x in supes: try: x.__init__(x) except: pass original_init(self) clss.__init__ = init return clss
class OrderedSetQueue(Queue): """Unique queue. Elements cannot be repeated, so there's no need to traverse it to check. LIFO ordered and thread-safe. """ def _init(self, maxsize): self.queue = OrderedSet() def _put(self, item): self.queue.add(item) def _get(self): return self.queue.pop()