diff --git a/frappe/utils/__init__.py b/frappe/utils/__init__.py index b9d444a94d..279c2d6d1f 100644 --- a/frappe/utils/__init__.py +++ b/frappe/utils/__init__.py @@ -1189,3 +1189,14 @@ def create_folder(path, with_init=False): cached_property = functools.cached_property + + +def get_frappe_version() -> str: + return getattr(frappe, "__version__", "unknown") + + +def get_app_version(app_name: str) -> str: + try: + return frappe.get_attr(app_name + ".__version__") + except Exception: + return "0.0.1" diff --git a/frappe/utils/telemetry/pulse/app_heartbeat_event.py b/frappe/utils/telemetry/pulse/app_heartbeat_event.py index 8169084f49..6fa16b5c63 100644 --- a/frappe/utils/telemetry/pulse/app_heartbeat_event.py +++ b/frappe/utils/telemetry/pulse/app_heartbeat_event.py @@ -1,7 +1,7 @@ import frappe +from frappe.utils import get_app_version, get_frappe_version from .client import capture, is_enabled -from .utils import get_app_version, get_frappe_version def capture_app_heartbeat(app): diff --git a/frappe/utils/telemetry/pulse/utils.py b/frappe/utils/telemetry/pulse/utils.py index a680f1cd51..5d6924f45e 100644 --- a/frappe/utils/telemetry/pulse/utils.py +++ b/frappe/utils/telemetry/pulse/utils.py @@ -1,5 +1,5 @@ import hashlib -from datetime import UTC, datetime, timezone +from datetime import UTC, datetime import frappe @@ -78,20 +78,9 @@ def parse_interval(interval): return number * multipliers[unit] -def get_frappe_version() -> str: - return getattr(frappe, "__version__", "unknown") - - def utc_iso() -> str: return datetime.now(UTC).isoformat() -def get_app_version(app_name: str) -> str: - try: - return frappe.get_attr(app_name + ".__version__") - except Exception: - return "0.0.1" - - def ensure_http(url: str) -> str: return url if url.startswith(("http://", "https://")) else "https://" + url