HEX
Server: LiteSpeed
System: Linux cpir1.prohostdns.com 4.18.0-553.123.2.lve.el8.x86_64 #1 SMP Thu May 7 23:17:13 UTC 2026 x86_64
User: pelakir (2976)
PHP: 8.2.31
Disabled: exec, shell_exec, system, passthru, proc_open, proc_close, proc_terminate, proc_get_status, popen, pclose, pcntl_exec
Upload Files
File: //opt/cloudlinux/venv/lib/python3.11/site-packages/xray/analytics/utils.py
# -*- coding: utf-8 -*-

# Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2021 All Rights Reserved
#
# Licensed under CLOUD LINUX LICENSE AGREEMENT
# http://cloudlinux.com/docs/LICENSE.TXT

import json

from xray.analytics import report_analytics

def report_usage_action_or_error(analytics_data: str, advice_id: int,
                                source: str, result: str,
                                action: str) -> None:
    """
    Report advice action or error
    """
    if result is None:
        return
    event = 'advice_' + action
    try:
        result_object = json.loads(result)
    except (ValueError, TypeError):
        # Undefined output
        report_analytics(analytics_data, advice_id, source, 'advice_error')
    else:
        if result_object.get('result') and result_object['result'] == 'success':
            report_analytics(analytics_data, advice_id, source, event)
        elif result_object.get('result') != 'PAYMENT_REQUIRED':
            # Advice action error
            report_analytics(analytics_data, advice_id, source, 'advice_error')