def split_type(type):

    match = _type_re.match(type)
    if not match:
        raise ValueError("malformed type: %r" % type)
    kind, precision = match.groups()
    itemsize = None
    if precision:
        precision = int(precision)
        itemsize, remainder = divmod(precision, 8)
        if remainder:  # 0 could be a valid item size
            raise ValueError("precision must be a multiple of 8: %d"
                             % precision)
    return (kind, itemsize)


# Private functions
# =================
A retract request should result in L{PubSubResource.retract}
dataset/ETHPy150Open PyTables/PyTables/tables/atom.py/split_type--crossover with--dataset/ETHPy150Open ralphm/wokkel/wokkel/test/test_pubsub.py/PubSubServiceTest.test_on_retract