'Walks through PUSH_NOTIFICATIONS_SETTINGS to find the correct setting
value or dies trying'

def _get_application_settings(self, application_id, platform, settings_key):

    if (not application_id):
        conf_cls = 'push_notifications.conf.AppConfig'
        raise ImproperlyConfigured('{}    requires    the    application_id    be    specified    at    all    times.'.format(conf_cls))
    app_config = self._settings.get('APPLICATIONS').get(application_id, None)
    if (app_config is None):
        raise ImproperlyConfigured('No    application    configured    with    application_id:    {}.'.format(application_id))
    if (app_config.get('PLATFORM') != platform):
        raise ImproperlyConfigured(SETTING_MISMATCH.format(application_id=application_id, platform=app_config.get('PLATFORM'), setting=settings_key))
    if (settings_key not in app_config):
        raise ImproperlyConfigured(MISSING_SETTING.format(application_id=application_id, setting=settings_key))
    return app_config.get(settings_key)
