def get(self, *args, **kwargs):
        """
        Get an element from the iterable by an arg or kwarg.
        Args can be a single positional argument that is an index
        value to retrieve. If the specified index is out of range,
        None is returned. Otherwise use kwargs to provide a  key/value.
        The key is expected to be a valid attribute of the iterated class.
        For example, to get an element that has a attribute name of 'foo',
        pass name='foo'.
        
        :raises ValueError: An argument was missing
        :return: the specified item, type is based on what is
            returned by this iterable, may be None
        """
        if self:
            if args:
                index = args[0]
                if index <= len(self) -1:
                    return self[args[0]]
                return None
            elif kwargs:
                key, value = kwargs.popitem()
                for item in self.items:
                    if getattr(item, key, None) == value:
                        return item
            else:
                raise ValueError('Missing argument. You must provide an '
                    'arg or kwarg to fetch an element from the collection.')
def get ( self , * args , ** kwargs ) : if self : if args : index = args [ 0 ] if index <= len ( self ) - 1 : return self [ args [ 0 ] ] return None elif kwargs : key , value = kwargs . popitem ( ) for item in self . items : if getattr ( item , key , None ) == value : return item else : raise ValueError ( 'Missing argument. You must provide an ' 'arg or kwarg to fetch an element from the collection.' )
Get an element from the iterable by an arg or kwarg.
        Args can be a single positional argument that is an index
        value to retrieve. If the specified index is out of range,
        None is returned. Otherwise use kwargs to provide a  key/value.
        The key is expected to be a valid attribute of the iterated class.
        For example, to get an element that has a attribute name of 'foo',
        pass name='foo'.
        
        :raises ValueError: An argument was missing
        :return: the specified item, type is based on what is
            returned by this iterable, may be None