view planemo/lib/python3.7/site-packages/galaxy/util/bunch.py @ 1:56ad4e20f292 draft

"planemo upload commit 6eee67778febed82ddd413c3ca40b3183a3898f1"
author guerler
date Fri, 31 Jul 2020 00:32:28 -0400
parents
children
line wrap: on
line source

class Bunch(object):
    """
    http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52308

    Often we want to just collect a bunch of stuff together, naming each item of
    the bunch; a dictionary's OK for that, but a small do-nothing class is even handier, and prettier to use.
    """

    def __init__(self, **kwds):
        self.__dict__.update(kwds)

    def dict(self):
        return self.__dict__

    def get(self, key, default=None):
        return self.__dict__.get(key, default)

    def __iter__(self):
        return iter(self.__dict__)

    def items(self):
        return self.__dict__.items()

    def keys(self):
        return self.__dict__.keys()

    def values(self):
        return self.__dict__.values()

    def __str__(self):
        return '%s' % self.__dict__

    def __bool__(self):
        return bool(self.__dict__)
    __nonzero__ = __bool__

    def __setitem__(self, k, v):
        self.__dict__.__setitem__(k, v)

    def __contains__(self, item):
        return item in self.__dict__