maestro-server/analytics-maestro

View on GitHub
app/libs/drawing/helpers/drawTooltips.py

Summary

Maintainability
A
0 mins
Test Coverage
F
22%

from .helperDraw import HelperDraw
from app.libs.dcServer import DcServers


class HelperDrawTooltips(HelperDraw):
    def __init__(self, size, off, dcServers=DcServers):
        self._text = []
        self._pos = None
        self._app = None
        self._off = off

        self._font_size = 12
        self._dcServers = dcServers()
        super().__init__(size)

    def execute(self, app):
        self._app = app

        servers = self._app.get('servers', [])
        dc = self._dcServers.findDC(self._app)

        props = {k: self._app.get(k, None) for k in ('name', 'provider', 'family', 'environment', 'language', 'cluster')}

        self.make_text('name', props['name'])

        self.make_text('dc', dc)
        self.make_text('env', props['environment'])
        self.make_text('family', props['family'])
        self.make_text('provider', props['provider'])
        self.make_text('Language', props['language'])
        self.make_text('Cluster', props['cluster'])
        self.make_text('servers', len(servers))


    def get_text(self):
        return self._text

    def make_text(self, cls, text, opts={}):
        if text:
            dts = {
                'class_': cls,
                'text': text
            }

            obj = {**dts, **opts}
            self._text.append(obj)