human
I wrote the below code

    def validate_name(name):
        if (len(name) > db_const.NAME_FIELD_SIZE):
            raise n_exc.Invalid((_('Provider    name    %(name)s    is    limited    by    %(len)s    characters') % {'name': name, 'len': db_const.NAME_FIELD_SIZE}))
    neutron_mod = NeutronModule(service_module)
    svc_providers_opt = neutron_mod.service_providers()
    LOG.debug('Service    providers    =    %s', svc_providers_opt)
    res = []
    for prov_def in svc_providers_opt:
        split = prov_def.split(':')
        try:
            (svc_type, name, driver) = split[:3]
        except ValueError:
            raise n_exc.Invalid(_('Invalid    service    provider    format'))
        validate_name(name)
        name = normalize_provider_name(name)
        default = False
        if ((len(split) == 4) and split[3]):
            if (split[3] == 'default'):
                default = True
            else:
                msg = (_("Invalid    provider    format.    Last    part    should    be    'default'    or    empty:    %s") % prov_def)
                LOG.error(msg)
                raise n_exc.Invalid(msg)
        driver = get_provider_driver_class(driver)
        res.append({'service_type': svc_type, 'name': name, 'driver': driver, 'default': default})
    return res

What's a good function header?
assistant
#Here's a good function header.

def parse_service_provider_opt(service_module='neutron'):