| .PHONY: clean clean-test clean-pyc clean-build docs help |
| .DEFAULT_GOAL := help |
|
|
| define BROWSER_PYSCRIPT |
| import os, webbrowser, sys |
|
|
| from urllib.request import pathname2url |
|
|
| webbrowser.open("file://" + pathname2url(os.path.abspath(sys.argv[1]))) |
| endef |
| export BROWSER_PYSCRIPT |
|
|
| define PRINT_HELP_PYSCRIPT |
| import re, sys |
|
|
| for line in sys.stdin: |
| match = re.match(r'^([a-zA-Z_-]+):.*?## (.*)$$', line) |
| if match: |
| target, help = match.groups() |
| print("%-20s %s" % (target, help)) |
| endef |
| export PRINT_HELP_PYSCRIPT |
|
|
| BROWSER := python -c "$$BROWSER_PYSCRIPT" |
|
|
| help: |
| @python -c "$$PRINT_HELP_PYSCRIPT" < $(MAKEFILE_LIST) |
|
|
| clean: clean-build clean-pyc clean-test |
|
|
| clean-build: |
| rm -rf -f build/ |
| rm -rf -f dist/ |
| rm -rf -f .eggs/ |
| find . -name '*.egg-info' -exec rm -fr {} + |
| find . -name '*.egg' -exec rm -f {} + |
|
|
| clean-pyc: |
| find . -name '*.pyc' -exec rm -f {} + |
| find . -name '*.pyo' -exec rm -f {} + |
| find . -name '*~' -exec rm -f {} + |
| find . -name '__pycache__' -exec rm -fr {} + |
|
|
| clean-test: |
| rm -fr .tox/ |
| rm -f .coverage |
| rm -fr htmlcov/ |
| rm -fr .pytest_cache |
|
|
| format: |
| poetry run isort . |
| poetry run black deep_translator tests |
|
|
| test: |
| pytest |
|
|
| coverage: |
| coverage run --source deep_translator -m pytest |
| coverage report -m |
| coverage html |
| $(BROWSER) htmlcov/index.html |
|
|
| docs: |
| rm -f docs/deep_translator.rst |
| rm -f docs/modules.rst |
| sphinx-apidoc -o docs/ deep_translator |
| $(MAKE) -C docs clean |
| $(MAKE) -C docs html |
| $(BROWSER) docs/_build/html/index.html |
|
|
| servedocs: docs |
| watchmedo shell-command -p '*.rst' -c '$(MAKE) -C docs html' -R -D . |
|
|
| release: dist |
| twine upload dist/* --verbose |
|
|
| dist: clean |
| python3 setup.py sdist |
| python3 setup.py bdist_wheel |
| ls -l dist |
|
|
| install: clean |
| pip install . |
|
|
| check: |
| twine check dist/* |
|
|