Skip to content

Commit

Permalink
Remove progressbar dependency
Browse files Browse the repository at this point in the history
  • Loading branch information
codingjoe committed Mar 26, 2021
1 parent 8e3ee5b commit a2867a9
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 23 deletions.
14 changes: 9 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Install gettext
run: sudo apt-get install gettext -y
run: sudo apt install gettext -y
- uses: actions/[email protected]
- run: python -m pip install --upgrade pip setuptools wheel twine readme-renderer
- uses: actions/[email protected]
Expand All @@ -89,16 +89,20 @@ jobs:
- "2.2"
- "3.1"
- "3.2rc1"
extra:
- ""
- "progressbar"
steps:
- name: Set up Python ${{ matrix.python-version }}
uses: actions/[email protected]
with:
python-version: ${{ matrix.python-version }}
- run: sudo apt install gettext -y
- uses: actions/[email protected]
- name: Install dependencies
run: |
python -m pip install --upgrade pip setuptools codecov
pip install django~=${{ matrix.django-version }}
- run: python -m pip install --upgrade pip setuptools codecov wheel
- run: python -m pip install .[${{ matrix.extra }}]
if: ${{ matrix.extra }}
- run: python -m pip install django~=${{ matrix.django-version }}
- name: Test with pytest
run: python setup.py test
- run: codecov
5 changes: 4 additions & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ packages = stdimage
install_requires =
Django>=2.2
pillow>=2.5
progressbar2>=3.0.0

setup_requires =
setuptools_scm
pytest-runner
Expand All @@ -52,6 +52,9 @@ tests_require =
exclude =
tests

[options.extras_require]
progressbar = progressbar2>=3.0.0

[bdist_wheel]
universal = 1

Expand Down
40 changes: 23 additions & 17 deletions stdimage/management/commands/rendervariations.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import progressbar
from django.apps import apps
from django.core.files.storage import get_storage_class
from django.core.management import BaseCommand, CommandError
Expand Down Expand Up @@ -59,8 +58,7 @@ def handle(self, *args, **options):

self.render(field, images, count, replace, ignore_missing, do_render)

@staticmethod
def render(field, images, count, replace, ignore_missing, do_render):
def render(self, field, images, count, replace, ignore_missing, do_render):
kwargs_list = (
dict(
file_name=file_name,
Expand All @@ -73,20 +71,26 @@ def render(field, images, count, replace, ignore_missing, do_render):
)
for file_name in images
)
with progressbar.ProgressBar(
max_value=count,
widgets=(
progressbar.RotatingMarker(),
" | ",
progressbar.AdaptiveETA(),
" | ",
progressbar.Percentage(),
" ",
progressbar.Bar(),
),
) as bar:
for _ in map(render_field_variations, kwargs_list):
bar += 1
try:
import progressbar
except ImportError:
for file_name in map(render_field_variations, kwargs_list):
self.stdout.write(f"Processing: {file_name}", self.style.NOTICE)
else:
with progressbar.ProgressBar(
max_value=count,
widgets=(
progressbar.RotatingMarker(),
" | ",
progressbar.AdaptiveETA(),
" | ",
progressbar.Percentage(),
" ",
progressbar.Bar(),
),
) as bar:
for _ in map(render_field_variations, kwargs_list):
bar += 1


def render_field_variations(kwargs):
Expand All @@ -101,7 +105,9 @@ def render_field_variations(kwargs):
render_variations(**kwargs)
except FileNotFoundError as e:
if not ignore_missing:
print(ignore_missing)
raise CommandError(
"Source file was not found, terminating. "
"Use -i/--ignore-missing to skip this error."
) from e
return kwargs["file_name"]

0 comments on commit a2867a9

Please sign in to comment.