Returns the grist of a string.
        If value is a sequence, does it for every value and returns the result as a sequence.

def get_grist (value):
    """ Returns the grist of a string.
        If value is a sequence, does it for every value and returns the result as a sequence.
    """
    assert is_iterable_typed(value, basestring) or isinstance(value, basestring)
    def get_grist_one (name):
        split = __re_grist_and_value.match (name)
        if not split:
            return ''
        else:
            return split.group (1)

    if isinstance (value, str):
        return get_grist_one (value)
    else:
        return [ get_grist_one (v) for v in value ]