from owrx.controllers.admin import AuthorizationMixin from owrx.controllers.template import WebpageController from owrx.breadcrumb import Breadcrumb, BreadcrumbItem, BreadcrumbMixin from owrx.service import Services from owrx.repeaters import Repeaters from owrx.eibi import EIBI from datetime import datetime import json import re import logging logger = logging.getLogger(__name__) class ServiceController(AuthorizationMixin, WebpageController): def indexAction(self): self.serve_template("services.html", **self.template_variables()) def template_variables(self): variables = super().template_variables() variables["services"] = self.renderServices() return variables @staticmethod def renderServices(): return """
| Service | SDR Profile | Frequency |
|---|
\n" + result + "
\n" @staticmethod def renderService(c): # Choose units based on frequency freq = c["freq"] if freq >= 1000000000: freq = freq / 1000000000 unit = "GHz" elif freq >= 30000000: freq = freq / 1000000 unit = "MHz" elif freq >= 1000: freq = freq / 1000 unit = "kHz" else: unit = "Hz" # Removing trailing zeros, converting mode to upper case freq = re.sub(r"\.?0+$", "", "{0}".format(freq)) # Format row return "