def METHOD_NAME(self, hal):
    udis = hal.hal.FindDeviceByCapability("portable_audio_player")
    ret = []
    for udi in udis:
        dev_obj = hal.bus.get_object("org.freedesktop.Hal", udi)
        device = dbus.Interface(dev_obj, "org.freedesktop.Hal.Device")
        if device.PropertyExists(
            "portable_audio_player.access_method.protocols"
        ) and "storage" in device.GetProperty(
            "portable_audio_player.access_method.protocols"
        ):
            ret.append(udi)
    return ret