Esempio n. 1
0
    def draw_banner_first_line(self, lines, data):
        status = data.get('HealthStatus', 'Unknown')
        refresh_time = data.get('RefreshedAt', None)
        if refresh_time is None:
            timestamp = '-'
            countdown = ' ( now )'
        else:
            timestamp = utils.get_local_time_as_string(refresh_time)
            delta = utils.get_delta_from_now_and_datetime(refresh_time)
            diff = 11 - delta.seconds
            if not self.refresh:
                countdown = ''
            elif self.frozen:
                countdown = ' (frozen +{})'.format(delta.seconds)
            elif diff < 0:
                countdown = ' ( now )'
            else:
                countdown = " ({} secs)".format(diff)
        env_name = data.get('EnvironmentName')
        pad_length = (term.width() - len(env_name) - len(timestamp) -
                      len(countdown) - 1)
        if lines > 2:
            banner = io.bold(' {env_name}{status}{time}{cd} ') \
                .format(env_name=env_name,
                        status=status.center(pad_length),
                        time=timestamp,
                        cd=countdown,
                        )
            if not self.mono:
                banner = io.on_color(data.get('Color', 'Grey'), banner)
            term.echo_line(banner)

            lines -= 1
        return lines
Esempio n. 2
0
 def reverse(self, string):
     """
     Windows doesn't support reverse. But since you cant change
     terminal colors on windows, we can safely assume that
     white background and black text will be a reverse
     Its not quite reverse on powershell, but it works
     """
     return io.on_color('white', io.color('black', string))
    def test_on_color__term_is_not_colorable(
            self,
            term_is_colorable_mock,
            init_mock
    ):
        term_is_colorable_mock.return_value = False
        self.assertEqual('ßßßßß', io.on_color('ORANGE', u'ßßßßß'))

        init_mock.assert_not_called()
    def test_on_color(
            self,
            term_is_colorable_mock,
            init_mock
    ):
        term_is_colorable_mock.return_value = True
        self.assertEqual('\x1b[43mßßßßß\x1b[49m', io.on_color('ORANGE', u'ßßßßß'))

        init_mock.assert_called_once()
Esempio n. 5
0
    def draw_banner_first_line(self, lines, data):
        if lines > 2:
            app_name = 'Application Name: {}'.format(self.poller.app_name)
            env_name = self.poller.env_name

            if env_name is None:
                env_name = 'No Environment Specified'

            pad_length = term.width() - len(env_name)

            banner = io.bold(' {env_name}{app_name} ') \
                .format(env_name=env_name,
                        app_name=app_name.center(pad_length),
                        )
            if not self.mono:
                banner = io.on_color(data.get('Color', 'Grey'), banner)
            term.echo_line(banner)

            lines -= 1
        return lines
Esempio n. 6
0
    def draw_banner_first_line(self, lines, data):
        if lines > 2:
            app_name = 'Application Name: {}'.format(self.poller.app_name)
            env_name = self.poller.env_name

            if env_name is None:
                env_name = 'No Environment Specified'

            pad_length = term.width() - len(env_name)

            banner = io.bold(' {env_name}{app_name} ') \
                .format(env_name=env_name,
                        app_name=app_name.center(pad_length),
                        )
            if not self.mono:
                banner = io.on_color(data.get('Color', 'Grey'), banner)
            term.echo_line(banner)

            lines -= 1
        return lines
Esempio n. 7
0
    def draw_banner_first_line(self, lines, data):
        status = data.get('HealthStatus', 'Unknown')
        refresh_time = data.get('RefreshedAt', None)
        if refresh_time is None:
            timestamp = '-'
            countdown = ' ( now )'
        else:
            timestamp = utils.get_local_time_as_string(refresh_time)
            delta = utils.get_delta_from_now_and_datetime(refresh_time)
            diff = 11 - delta.seconds
            if not self.refresh:
                countdown = ''
            elif self.frozen:
                countdown = ' (frozen +{})'.format(delta.seconds)
            elif diff < 0:
                countdown = ' ( now )'
            else:
                countdown = " ({} secs)".format(diff)
        env_name = data.get('EnvironmentName')
        pad_length = term.width() \
                     - len(env_name) \
                     - len(timestamp) \
                     - len(countdown) \
                     - 1
        if lines > 2:
            banner = io.bold(' {env_name}{status}{time}{cd} ') \
                .format(env_name=env_name,
                        status=status.center(pad_length),
                        time=timestamp,
                        cd=countdown,
                        )
            if not self.mono:
                banner = io.on_color(data.get('Color', 'Grey'), banner)
            term.echo_line(banner)

            lines -= 1
        return lines
Esempio n. 8
0
 def get_color_data(self, data):
     if self.screen.mono:
         return data.get('Color', ' ')[:1]
     else:
         return io.on_color(data.get('Color', 'RESET'), ' ')