Skip to content

Commit

Permalink
Merge pull request #20 from soda480/0.3.3
Browse files Browse the repository at this point in the history
0.3.3
  • Loading branch information
soda480 committed Oct 7, 2022
2 parents 9ec2d1c + 4c6fc82 commit 02848e6
Show file tree
Hide file tree
Showing 10 changed files with 44 additions and 53 deletions.
3 changes: 1 addition & 2 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,6 @@ jobs:
docker cp $ID:/code/target/reports/pybuilder-anybadge_coverage.xml pybanybadge_coverage.xml
sed -i -e 's,filename="pybanybadge/,filename="src/main/python/pybanybadge/,g' pybanybadge_coverage.xml
- name: upload report
uses: codecov/codecov-action@v1
uses: codecov/codecov-action@v2
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: pybanybadge_coverage.xml
9 changes: 4 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# pybuilder-anybadge
[![GitHub Workflow Status](https://github.com/soda480/pybuilder-anybadge/workflows/build/badge.svg)](https://github.com/soda480/pybuilder-anybadge/actions)
[![Code Coverage](https://codecov.io/gh/soda480/pybuilder-anybadge/branch/main/graph/badge.svg)](https://codecov.io/gh/soda480/pybuilder-anybadge)
[![Code Grade](https://api.codiga.io/project/20103/status/svg)](https://app.codiga.io/public/project/20103/pybuilder-anybadge/dashboard)
[![Code Grade](https://api.codiga.io/project/34777/status/svg)](https://app.codiga.io/hub/project/34777/pybuilder-anybadge)
[![PyPI version](https://badge.fury.io/py/pybuilder-anybadge.svg)](https://badge.fury.io/py/pybuilder-anybadge)
[![python](https://img.shields.io/badge/python-3.7%20%7C%203.8%20%7C%203.9%20%7C%203.10-teal)](https://www.python.org/downloads/)

Expand Down Expand Up @@ -45,10 +45,10 @@ project.set_property('anybadge_use_shields', True)

By default the plugin will use `shields.io` to create the badges:

[![coverage](https://img.shields.io/badge/coverage-100.0%25-brightgreen)](https://pybuilder.io/)
[![complexity](https://img.shields.io/badge/complexity-Stable:%209-olive)](https://radon.readthedocs.io/en/latest/api.html#module-radon.complexity)
[![coverage](https://img.shields.io/badge/coverage-100%25-brightgreen)](https://pybuilder.io/)
[![complexity](https://img.shields.io/badge/complexity-B-olive)](https://radon.readthedocs.io/en/latest/api.html#module-radon.complexity)
[![vulnerabilities](https://img.shields.io/badge/vulnerabilities-None-brightgreen)](https://pypi.org/project/bandit/)
[![python](https://img.shields.io/badge/python-3.6-teal)](https://www.python.org/downloads/)
[![python](https://img.shields.io/badge/python-3.7%20%7C%203.8%20%7C%203.9%20%7C%203.10-teal)](https://www.python.org/downloads/)

However, setting `anybadge_use_shields` to `False` will render the badges using `anybadge` and save them as svg files in the `docs\images` folder:

Expand All @@ -57,7 +57,6 @@ However, setting `anybadge_use_shields` to `False` will render the badges using
![vulnerabilities](https://raw.githubusercontent.com/soda480/pybuilder-anybadge/main/docs/images/vulnerabilities.svg)
![python](https://raw.githubusercontent.com/soda480/pybuilder-anybadge/main/docs/images/python.svg)


### Development

Clone the repository and ensure the latest version of Docker is installed on your development server.
Expand Down
9 changes: 1 addition & 8 deletions build.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
authors = [Author('Emilio Reyes', 'soda480@gmail.com')]
summary = 'A pybuilder plugin that generates badges for your project'
url = 'https://github.com/soda480/pybuilder-anybadge'
version = '0.3.2'
version = '0.3.3'
default_task = [
'clean',
'analyze',
Expand Down Expand Up @@ -47,13 +47,6 @@ def set_properties(project):
project.set_property('distutils_description_overwrite', True)
project.set_property('distutils_upload_skip_existing', True)
project.set_property('distutils_classifiers', [
'Development Status :: 4 - Beta',
'Environment :: Other Environment',
'Environment :: Plugins',
'Intended Audience :: Developers',
'Intended Audience :: System Administrators',
'License :: OSI Approved :: Apache Software License',
'Operating System :: POSIX :: Linux',
'Programming Language :: Python',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
Expand Down
2 changes: 1 addition & 1 deletion build.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
versions=( '3.7' '3.8' '3.9' '3.10' )
for version in "${versions[@]}";
do
docker image build --build-arg PYTHON_VERSION=$version -t pybanybadge:$version .
docker image build --build-arg PYTHON_VERSION="$version" -t pybanybadge:"$version" .
done
14 changes: 7 additions & 7 deletions docs/images/complexity.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
14 changes: 7 additions & 7 deletions docs/images/coverage.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/images/python.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions docs/images/vulnerabilities.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
18 changes: 9 additions & 9 deletions src/main/python/pybuilder_anybadge/task.py
Original file line number Diff line number Diff line change
Expand Up @@ -140,32 +140,32 @@ def get_complexity_badge(complexity_report, use_average=False, use_shields=False
score = complexity_report['average']

if score <= 5:
value = 'Simple'
value = 'A'
if use_shields:
color = 'brightgreen'
else:
color = 'green'
elif score <= 10:
value = 'Stable'
value = 'B'
color = 'olive'
elif score <= 20:
value = 'Slight'
value = 'C'
color = 'yellow'
elif score <= 30:
value = 'Complex'
value = 'D'
color = 'orange'
elif score <= 40:
value = 'Alarming'
value = 'E'
color = 'red'
else:
value = 'Unstable'
value = 'F'
color = 'brightred'

if use_shields:
badge = f'https://img.shields.io/badge/complexity-{value}: {score}-{color}'
badge = f'https://img.shields.io/badge/complexity-{value}-{color}'
badge = badge.replace(' ', '%20')
else:
badge = Badge('complexity', value=f'{value}: {score}', default_color=color)
badge = Badge('complexity', value=f'{value}', default_color=color)
return badge


Expand Down Expand Up @@ -225,7 +225,7 @@ def get_coverage_badge(coverage, use_shields=False):
color = 'orange'
if coverage < 55:
color = 'red'
value = f'{round(coverage, 2)}%'
value = f'{round(coverage)}%'
if use_shields:
badge = f'https://img.shields.io/badge/coverage-{value}-{color}'
badge = badge.replace('%', '%25')
Expand Down
22 changes: 11 additions & 11 deletions src/unittest/python/test_task.py
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,7 @@ def test__get_complexity_badge_Should_ReturnExpected_When_SimpleGreen(self, badg
}
result = get_complexity_badge(complexity_report)
self.assertEqual(result, badge_patch.return_value)
badge_patch.assert_called_once_with('complexity', value='Simple: 5', default_color='green')
badge_patch.assert_called_once_with('complexity', value='A', default_color='green')

@patch('pybuilder_anybadge.task.Badge')
def test__get_complexity_badge_Should_ReturnExpected_When_StableGreen(self, badge_patch, *patches):
Expand All @@ -248,7 +248,7 @@ def test__get_complexity_badge_Should_ReturnExpected_When_StableGreen(self, badg
}
result = get_complexity_badge(complexity_report)
self.assertEqual(result, badge_patch.return_value)
badge_patch.assert_called_once_with('complexity', value='Stable: 10', default_color='olive')
badge_patch.assert_called_once_with('complexity', value='B', default_color='olive')

@patch('pybuilder_anybadge.task.Badge')
def test__get_complexity_badge_Should_ReturnExpected_When_SlightYellow(self, badge_patch, *patches):
Expand All @@ -259,7 +259,7 @@ def test__get_complexity_badge_Should_ReturnExpected_When_SlightYellow(self, bad
}
result = get_complexity_badge(complexity_report)
self.assertEqual(result, badge_patch.return_value)
badge_patch.assert_called_once_with('complexity', value='Slight: 20', default_color='yellow')
badge_patch.assert_called_once_with('complexity', value='C', default_color='yellow')

@patch('pybuilder_anybadge.task.Badge')
def test__get_complexity_badge_Should_ReturnExpected_When_ComplexOrange(self, badge_patch, *patches):
Expand All @@ -270,7 +270,7 @@ def test__get_complexity_badge_Should_ReturnExpected_When_ComplexOrange(self, ba
}
result = get_complexity_badge(complexity_report)
self.assertEqual(result, badge_patch.return_value)
badge_patch.assert_called_once_with('complexity', value='Complex: 30', default_color='orange')
badge_patch.assert_called_once_with('complexity', value='D', default_color='orange')

@patch('pybuilder_anybadge.task.Badge')
def test__get_complexity_badge_Should_ReturnExpected_When_AlarmingRed(self, badge_patch, *patches):
Expand All @@ -281,7 +281,7 @@ def test__get_complexity_badge_Should_ReturnExpected_When_AlarmingRed(self, badg
}
result = get_complexity_badge(complexity_report)
self.assertEqual(result, badge_patch.return_value)
badge_patch.assert_called_once_with('complexity', value='Alarming: 40', default_color='red')
badge_patch.assert_called_once_with('complexity', value='E', default_color='red')

@patch('pybuilder_anybadge.task.Badge')
def test__get_complexity_badge_Should_ReturnExpected_When_UnstableBrightred(self, badge_patch, *patches):
Expand All @@ -292,7 +292,7 @@ def test__get_complexity_badge_Should_ReturnExpected_When_UnstableBrightred(self
}
result = get_complexity_badge(complexity_report)
self.assertEqual(result, badge_patch.return_value)
badge_patch.assert_called_once_with('complexity', value='Unstable: 50', default_color='brightred')
badge_patch.assert_called_once_with('complexity', value='F', default_color='brightred')

@patch('pybuilder_anybadge.task.Badge')
def test__get_complexity_badge_Should_ReturnExpected_When_UseAverage(self, badge_patch, *patches):
Expand All @@ -304,7 +304,7 @@ def test__get_complexity_badge_Should_ReturnExpected_When_UseAverage(self, badge
}
result = get_complexity_badge(complexity_report, use_average=True)
self.assertEqual(result, badge_patch.return_value)
badge_patch.assert_called_once_with('complexity', value='Unstable: 79', default_color='brightred')
badge_patch.assert_called_once_with('complexity', value='F', default_color='brightred')

@patch('pybuilder_anybadge.task.Badge')
def test__get_complexity_badge_Should_ReturnExpected_When_UseShields(self, badge_patch, *patches):
Expand All @@ -314,7 +314,7 @@ def test__get_complexity_badge_Should_ReturnExpected_When_UseShields(self, badge
}
}
result = get_complexity_badge(complexity_report, use_shields=True)
expected_result = 'https://img.shields.io/badge/complexity-Simple:%205-brightgreen'
expected_result = 'https://img.shields.io/badge/complexity-A-brightgreen'
self.assertEqual(result, expected_result)

@patch('pybuilder_anybadge.task.Badge')
Expand Down Expand Up @@ -420,15 +420,15 @@ def test__get_coverage_badge_Should_ReturnExpected_When_Green(self, badge_patch,

@patch('pybuilder_anybadge.task.Badge')
def test__get_coverage_badge_Should_ReturnExpected_When_Yellow(self, badge_patch, *patches):
result = get_coverage_badge(84.234342342343)
result = get_coverage_badge(84.534342342343)
self.assertEqual(result, badge_patch.return_value)
badge_patch.assert_called_once_with('coverage', value='84.23%', default_color='yellow')
badge_patch.assert_called_once_with('coverage', value='85%', default_color='yellow')

@patch('pybuilder_anybadge.task.Badge')
def test__get_coverage_badge_Should_ReturnExpected_When_Orange(self, badge_patch, *patches):
result = get_coverage_badge(69.13933332232)
self.assertEqual(result, badge_patch.return_value)
badge_patch.assert_called_once_with('coverage', value='69.14%', default_color='orange')
badge_patch.assert_called_once_with('coverage', value='69%', default_color='orange')

@patch('pybuilder_anybadge.task.Badge')
def test__get_coverage_badge_Should_ReturnExpected_When_Red(self, badge_patch, *patches):
Expand Down

0 comments on commit 02848e6

Please sign in to comment.