Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/NTIA/scos-sensor into wai…
Browse files Browse the repository at this point in the history
…t_until_db_ready
  • Loading branch information
jhazentia committed Mar 12, 2024
2 parents 757bdef + 1cdf5d7 commit 7e35aae
Showing 1 changed file with 31 additions and 3 deletions.
34 changes: 31 additions & 3 deletions src/status/views.py
Original file line number Diff line number Diff line change
@@ -1,20 +1,25 @@
import datetime
import logging
import platform
import shutil
import sys

from initialization import sensor_loader, status_monitor
from its_preselector import __version__ as PRESELECTOR_API_VERSION
from its_preselector.preselector import Preselector
from its_preselector.web_relay import WebRelay
from rest_framework.decorators import api_view
from rest_framework.response import Response
from scheduler import scheduler
from scos_actions import __version__ as SCOS_ACTIONS_VERSION
from scos_actions.hardware.sigan_iface import SignalAnalyzerInterface
from scos_actions.metadata.structs import ntia_diagnostics
from scos_actions.settings import SCOS_SENSOR_GIT_TAG
from scos_actions.utils import (
convert_datetime_to_millisecond_iso_format,
get_datetime_str_now,
)

from initialization import sensor_loader, status_monitor
from scheduler import scheduler

from . import start_time
from .serializers import LocationSerializer
from .utils import get_location
Expand Down Expand Up @@ -48,6 +53,28 @@ def get_days_up():
return round(days + fractional_day, 4)


def get_software_version():
# Get software versions
software_version = {
"system_platform": platform.platform(),
"python_version": sys.version.split()[0],
"scos_sensor_version": SCOS_SENSOR_GIT_TAG,
"scos_actions_version": SCOS_ACTIONS_VERSION,
"preselector_api_version": PRESELECTOR_API_VERSION,
}

if sensor_loader.sensor is not None and sensor_loader.sensor.signal_analyzer is not None:
if sensor_loader.sensor.signal_analyzer.firmware_version is not None:
software_version["sigan_firmware_version"] = sensor_loader.sensor.signal_analyzer.firmware_version
if sensor_loader.sensor.signal_analyzer.api_version is not None:
software_version["sigan_api_version"] = sensor_loader.sensor.signal_analyzer.api_version
if sensor_loader.sensor.signal_analyzer.plugin_version is not None:
software_version["scos_sigan_plugin"] = sensor_loader.sensor.signal_analyzer.plugin_version

logger.debug(software_version)
return software_version


@api_view()
def status(request, version, format=None):
"""The status overview of the sensor."""
Expand All @@ -59,6 +86,7 @@ def status(request, version, format=None):
"start_time": convert_datetime_to_millisecond_iso_format(start_time),
"disk_usage": disk_usage(),
"days_up": get_days_up(),
"software": get_software_version(),
}
if (
sensor_loader.sensor is not None
Expand Down

0 comments on commit 7e35aae

Please sign in to comment.