コード例 #1
0
ファイル: test_anybadge.py プロジェクト: valdolab/anybadge
    def test_float_value_with_non_zero_decimal(self):
        badge = Badge('float str no decimal', value='10.01')

        self.assertFalse(badge.value_is_int)
        self.assertTrue(badge.value_is_float)
        badge.write_badge('test_badge_float-str-no-decimal.svg',
                          overwrite=True)
コード例 #2
0
ファイル: badge.py プロジェクト: sixty-north/cosmic-ray
def generate_badge(config_file, badge_file, session_file):
    """Generate badge file."""

    with use_db(session_file, WorkDB.Mode.open) as db:
        config = load_config(config_file)

        percent = 100 - survival_rate(db)

        config = config["badge"]

        badge = Badge(
            label=config["label"],
            value=percent,
            value_format=config["format"],
            thresholds=config["thresholds"],
        )

        log.info("Generating badge: " + config["format"], percent)  # pylint: disable=logging-not-lazy

        try:
            os.unlink(badge_file)
        except OSError:
            pass

        badge.write_badge(badge_file)
コード例 #3
0
ファイル: test_anybadge.py プロジェクト: Krukov/anybadge
    def test_badge_with_thresholds(self):
        """Test generating a badge using thresholds."""
        thresholds = {2: 'red', 4: 'orange', 6: 'green', 8: 'brightgreen'}

        badge = Badge('test', '2.22', value_suffix='%', thresholds=thresholds)

        badge.write_badge('test_badge_8.svg', overwrite=True)
コード例 #4
0
ファイル: test_anybadge.py プロジェクト: valdolab/anybadge
    def test_font_name(self):
        font = 'Arial, Helvetica, sans-serif'
        badge = Badge('font', value=font, font_name=font)
        badge.write_badge('test_badge_font.svg', overwrite=True)

        badge_repr = repr(badge)
        self.assertTrue(
            "font_name='Arial, Helvetica, sans-serif'" in badge_repr)
コード例 #5
0
ファイル: test_anybadge.py プロジェクト: valdolab/anybadge
    def test_badge_width_with_medium_value_text(self):
        """Test the width of a badge generated with a medium text value."""

        badge = Badge(label='medium', value='89.67%', default_color='green')

        badge.write_badge('test_badge_medium.svg', overwrite=True)

        self.assertLessEqual(badge.badge_width, 138)
コード例 #6
0
ファイル: test_anybadge.py プロジェクト: valdolab/anybadge
    def test_badge_width_with_tiny_value_text(self):
        """Test the width of a badge generated with a short text value."""

        badge = Badge(label='a', value='1', default_color='green')

        badge.write_badge('test_badge_tiny_text_value.svg', overwrite=True)

        self.assertLessEqual(badge.badge_width, 76)
コード例 #7
0
def make_badge(views, color='green'):
    badge = Badge('views', views, thresholds={views: color})

    try:
        remove('badge.svg')
    except FileNotFoundError:
        pass
    badge.write_badge('badge.svg')
コード例 #8
0
ファイル: test_anybadge.py プロジェクト: valdolab/anybadge
    def test_badge_with_text_color(self):
        """Test generating a badge with alternate text_color."""

        badge = Badge('text color',
                      '2.22',
                      value_suffix='%',
                      text_color='#010101,#101010')

        badge.write_badge('test_badge_text_color.svg', overwrite=True)
コード例 #9
0
ファイル: test_anybadge.py プロジェクト: valdolab/anybadge
    def test_invalid_write_path(self):
        badge = Badge('label', 'value')
        with self.assertRaisesRegexp(
                ValueError, r'File location may not be a directory\.'):
            badge.write_badge('tests/')

        with self.assertRaisesRegexp(
                RuntimeError, r'File ".*tests\/exists\.svg" already exists\.'):
            badge.write_badge('tests/exists')
            badge.write_badge('tests/exists')
コード例 #10
0
ファイル: hil_lib.py プロジェクト: ssanadhya/magma
 def create_badge(
     self,
     ver: str,
     badge_file: str,
     badge_label: str,
     badge_color: str,
 ) -> None:
     """This functions will create badge as per run results"""
     badge = Badge(label=badge_label, value=ver, default_color=badge_color)
     badge.write_badge(badge_file, overwrite=True)
コード例 #11
0
ファイル: test_anybadge.py プロジェクト: valdolab/anybadge
    def test_badge_width_with_long_value_text(self):
        """Test the width of a badge generated with a long text value."""

        badge = Badge(label='CppCheck',
                      value='err: 2 | warn: 9 | info: 99 | style: 365',
                      default_color='red')

        badge.write_badge('test_badge_1.svg', overwrite=True)

        self.assertLessEqual(badge.badge_width, 326)
コード例 #12
0
ファイル: test_anybadge.py プロジェクト: valdolab/anybadge
    def test_badge_width_with_medium_value_text_zero_pad(self):
        """Test the width of a badge generated with a medium text value."""

        badge = Badge(label='medium no padding',
                      value='89.67%',
                      default_color='green',
                      num_padding_chars=0)

        badge.write_badge('test_badge_medium_no_padding.svg', overwrite=True)

        self.assertLessEqual(badge.badge_width, 156)
コード例 #13
0
ファイル: test_anybadge.py プロジェクト: valdolab/anybadge
    def test_badge_width_with_short_value_text_zero_pad(self):
        """Test the width of a badge generated with a short text value."""

        badge = Badge(label='short value no padding',
                      value='1',
                      default_color='green',
                      num_padding_chars=0)

        badge.write_badge('test_badge_short_no_padding.svg', overwrite=True)

        self.assertLessEqual(badge.badge_width, 143)
コード例 #14
0
ファイル: badges.py プロジェクト: stefanhoelzl/cico
class Badge(Result):
    def __init__(self, filename, png=False, **any_badge_kwargs):
        self.badge = AnyBadge(**any_badge_kwargs)
        self.filename = filename
        self.png = png

    def _to(self, dest):
        badge_path = dest / "{}.svg".format(self.filename)
        self.badge.write_badge(str(badge_path), overwrite=True)
        badges = [badge_path]
        if self.png:
            png_path = dest / "{}.png".format(self.filename)
            cairosvg.svg2png(url=str(badge_path), write_to=str(png_path))
            badges.append(png_path)
        return badges
コード例 #15
0
def generate_badge():
    """cr-badge

Usage: cr-badge [--config <config_file>]  <badge_file> <session-file>

Generate badge file.

options:
    --config <config_file> Configuration file to use instead of session configuration
"""

    arguments = docopt.docopt(generate_badge.__doc__, version='cr-format 0.1')
    config_file = arguments['--config']
    badge_filename = arguments['<badge_file>']

    with use_db(arguments['<session-file>'], WorkDB.Mode.open) as db:
        assert isinstance(db, WorkDB)
        if config_file:
            config = load_config(config_file)
        else:
            config = db.get_config()

        percent = 100 - survival_rate(db)

        config = config['badge']

        badge = Badge(
            label=config['label'],
            value=percent,
            value_format=config['format'],
            thresholds=config['thresholds'],
        )

        log.info("Generating badge: " + config['format'], percent)  # pylint: disable=logging-not-lazy

        try:
            os.unlink(badge_filename)
        except OSError:
            pass

        badge.write_badge(badge_filename)
コード例 #16
0
ファイル: test_anybadge.py プロジェクト: valdolab/anybadge
    def test_padding_label(self):
        badge = Badge('label padding',
                      value='10.01',
                      num_label_padding_chars=2)

        badge.write_badge('test_badge_padding_label.svg', overwrite=True)
コード例 #17
0
ファイル: test_anybadge.py プロジェクト: valdolab/anybadge
    def test_integer_int_value_is_handled_as_integer(self):
        badge = Badge('integer', value=1234)

        self.assertTrue(badge.value_is_int)
        self.assertFalse(badge.value_is_float)
        badge.write_badge('test_badge_int.svg', overwrite=True)
コード例 #18
0
ファイル: test_anybadge.py プロジェクト: valdolab/anybadge
    def test_float_value_is_handled_as_float(self):
        badge = Badge('float int', value=1234.1)

        self.assertFalse(badge.value_is_int)
        self.assertTrue(badge.value_is_float)
        badge.write_badge('test_badge_float.svg', overwrite=True)
コード例 #19
0
ファイル: test_anybadge.py プロジェクト: valdolab/anybadge
    def test_float_value_with_zero_decimal(self):
        badge = Badge('float with zeros', value='10.00')

        self.assertFalse(badge.value_is_int)
        self.assertTrue(badge.value_is_float)
        badge.write_badge('test_badge_float_zeros.svg', overwrite=True)
コード例 #20
0
ファイル: test_anybadge.py プロジェクト: valdolab/anybadge
    def test_padding_value(self):
        badge = Badge('value padding',
                      value='10.01',
                      num_value_padding_chars=2)

        badge.write_badge('test_badge_padding_value.svg', overwrite=True)
コード例 #21
0
ファイル: test_anybadge.py プロジェクト: valdolab/anybadge
 def test_font_size(self):
     for size in [10, 11, 12]:
         badge = Badge('font size', value=size, font_size=size)
         badge.write_badge('test_badge_font_size_%s.svg' % size,
                           overwrite=True)