mirror of
https://github.com/YunoHost-Apps/django_example_ynh.git
synced 2024-09-03 18:26:21 +02:00
commit
8796bffb40
17 changed files with 1784 additions and 1252 deletions
4
.flake8
4
.flake8
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
# Move to pyproject.toml after: https://gitlab.com/pycqa/flake8/-/issues/428
|
||||
# Move to pyproject.toml after: https://github.com/PyCQA/flake8/issues/234
|
||||
#
|
||||
[flake8]
|
||||
exclude = .pytest_cache, .tox, dist, htmlcov, local_test
|
||||
exclude = .*, dist, htmlcov, local_test
|
||||
ignore = F405
|
||||
max-line-length = 119
|
||||
|
|
17
.github/workflows/package_linter.yml
vendored
17
.github/workflows/package_linter.yml
vendored
|
@ -1,6 +1,8 @@
|
|||
name: YunoHost apps package linter
|
||||
|
||||
on:
|
||||
# Allow to manually trigger the workflow
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
@ -12,12 +14,25 @@ jobs:
|
|||
test:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: '3.9'
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install toml
|
||||
|
||||
- name: 'Clone YunoHost apps package linter'
|
||||
run: |
|
||||
git clone --depth=1 https://github.com/YunoHost/package_linter ~/package_linter
|
||||
|
||||
- name: 'Install requirements'
|
||||
run: pip3 install toml
|
||||
|
||||
- name: 'Run linter'
|
||||
run: |
|
||||
~/package_linter/package_linter.py .
|
||||
|
|
2
.github/workflows/pytest.yml
vendored
2
.github/workflows/pytest.yml
vendored
|
@ -14,7 +14,7 @@ jobs:
|
|||
strategy:
|
||||
max-parallel: 2
|
||||
matrix:
|
||||
python-version: ["3.10", "3.9"]
|
||||
python-version: ["3.11", "3.10", "3.9"]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
|
|
5
Makefile
5
Makefile
|
@ -20,20 +20,23 @@ install-poetry: ## install or update poetry
|
|||
curl -sSL https://install.python-poetry.org | python3 -
|
||||
|
||||
install: check-poetry ## install project via poetry
|
||||
python3 -m venv .venv
|
||||
poetry install
|
||||
|
||||
update: check-poetry ## update the sources and installation and generate "conf/requirements.txt"
|
||||
python3 -m venv .venv
|
||||
poetry self update
|
||||
poetry update -v
|
||||
poetry install
|
||||
poetry export -f requirements.txt --output conf/requirements.txt
|
||||
|
||||
lint: ## Run code formatters and linter
|
||||
poetry run darker --check
|
||||
poetry run isort --check-only .
|
||||
poetry run flake8 .
|
||||
|
||||
fix-code-style: ## Fix code formatting
|
||||
poetry run black --verbose --safe --line-length=${MAX_LINE_LENGTH} --skip-string-normalization .
|
||||
poetry run darker
|
||||
poetry run isort .
|
||||
|
||||
tox-listenvs: check-poetry ## List all tox test environments
|
||||
|
|
25
README.md
25
README.md
|
@ -5,8 +5,9 @@ It shall NOT be edited by hand.
|
|||
|
||||
# Django Example for YunoHost
|
||||
|
||||
[](https://dash.yunohost.org/appci/app/django_example_ynh)  
|
||||
[](https://install-app.yunohost.org/?app=django_example_ynh)
|
||||
[](https://dash.yunohost.org/appci/app/django_example)  
|
||||
|
||||
[](https://install-app.yunohost.org/?app=django_example)
|
||||
|
||||
*[Lire ce readme en français.](./README_fr.md)*
|
||||
|
||||
|
@ -15,7 +16,11 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in
|
|||
|
||||
## Overview
|
||||
|
||||
[](https://github.com/YunoHost-Apps/django_example_ynh/actions/workflows/pytest.yml) [](https://github.com/YunoHost-Apps/django_example_ynh/actions/workflows/package_linter.yml)
|
||||
[](https://github.com/YunoHost-Apps/django_example_ynh/actions/workflows/tests.yml)
|
||||
[](https://codecov.io/github/jedie/django_example_ynh)
|
||||
[](https://pypi.org/project/django_example_ynh/)
|
||||
[](https://github.com/YunoHost-Apps/django_example_ynh/blob/main/pyproject.toml)
|
||||
[](https://github.com/YunoHost-Apps/django_example_ynh/blob/main/LICENSE)
|
||||
|
||||
Demo [YunoHost Application](https://install-app.yunohost.org/?app=django_example_ynh) to demonstrate the integration of a [Python](https://www.python.org/)/[Django](https://www.djangoproject.com/) project under YunoHost using [django_yunohost_integration](https://github.com/YunoHost-Apps/django_yunohost_integration).
|
||||
|
||||
|
@ -28,7 +33,7 @@ To demonstrate the functionality the small [django-example](https://github.com/j
|
|||
Pull requests welcome ;)
|
||||
|
||||
|
||||
**Shipped version:** 0.5.0rc1~ynh1
|
||||
**Shipped version:** 0.2.0~ynh1
|
||||
## Disclaimers / important information
|
||||
|
||||
## local test
|
||||
|
@ -187,22 +192,22 @@ root@yunohost:~# journalctl --unit=django_example_ynh --follow
|
|||
## Documentation and resources
|
||||
|
||||
* Official app website: <https://github.com/YunoHost-Apps/django_example_ynh>
|
||||
* Official user documentation: <https://github.com/YunoHost-Apps/django_example_ynh>
|
||||
* Official user documentation: <https://github.com/jedie/django-example>
|
||||
* Official admin documentation: <https://github.com/YunoHost-Apps/django_example_ynh>
|
||||
* Upstream app code repository: <https://github.com/YunoHost-Apps/django_example_ynh>
|
||||
* YunoHost documentation for this app: <https://yunohost.org/app_django_example_ynh>
|
||||
* Report a bug: <https://github.com/YunoHost-Apps/django_example_ynh_ynh/issues>
|
||||
* YunoHost documentation for this app: <https://yunohost.org/app_django_example>
|
||||
* Report a bug: <https://github.com/YunoHost-Apps/django_example_ynh/issues>
|
||||
|
||||
## Developer info
|
||||
|
||||
Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/django_example_ynh_ynh/tree/testing).
|
||||
Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/django_example_ynh/tree/testing).
|
||||
|
||||
To try the testing branch, please proceed like that.
|
||||
|
||||
``` bash
|
||||
sudo yunohost app install https://github.com/YunoHost-Apps/django_example_ynh_ynh/tree/testing --debug
|
||||
sudo yunohost app install https://github.com/YunoHost-Apps/django_example_ynh/tree/testing --debug
|
||||
or
|
||||
sudo yunohost app upgrade django_example_ynh -u https://github.com/YunoHost-Apps/django_example_ynh_ynh/tree/testing --debug
|
||||
sudo yunohost app upgrade django_example -u https://github.com/YunoHost-Apps/django_example_ynh/tree/testing --debug
|
||||
```
|
||||
|
||||
**More info regarding app packaging:** <https://yunohost.org/packaging_apps>
|
||||
|
|
39
README_fr.md
39
README_fr.md
|
@ -5,17 +5,22 @@ It shall NOT be edited by hand.
|
|||
|
||||
# Django Example pour YunoHost
|
||||
|
||||
[](https://dash.yunohost.org/appci/app/django_example_ynh)  
|
||||
[](https://install-app.yunohost.org/?app=django_example_ynh)
|
||||
[](https://dash.yunohost.org/appci/app/django_example)  
|
||||
|
||||
[](https://install-app.yunohost.org/?app=django_example)
|
||||
|
||||
*[Read this readme in english.](./README.md)*
|
||||
|
||||
> *Ce package vous permet d'installer Django Example rapidement et simplement sur un serveur YunoHost.
|
||||
Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment l'installer et en profiter.*
|
||||
> *Ce package vous permet d’installer Django Example rapidement et simplement sur un serveur YunoHost.
|
||||
Si vous n’avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment l’installer et en profiter.*
|
||||
|
||||
## Vue d'ensemble
|
||||
## Vue d’ensemble
|
||||
|
||||
[](https://github.com/YunoHost-Apps/django_example_ynh/actions/workflows/pytest.yml) [](https://github.com/YunoHost-Apps/django_example_ynh/actions/workflows/package_linter.yml)
|
||||
[](https://github.com/YunoHost-Apps/django_example_ynh/actions/workflows/tests.yml)
|
||||
[](https://codecov.io/github/jedie/django_example_ynh)
|
||||
[](https://pypi.org/project/django_example_ynh/)
|
||||
[](https://github.com/YunoHost-Apps/django_example_ynh/blob/main/pyproject.toml)
|
||||
[](https://github.com/YunoHost-Apps/django_example_ynh/blob/main/LICENSE)
|
||||
|
||||
Demo [YunoHost Application](https://install-app.yunohost.org/?app=django_example_ynh) to demonstrate the integration of a [Python](https://www.python.org/)/[Django](https://www.djangoproject.com/) project under YunoHost using [django_yunohost_integration](https://github.com/YunoHost-Apps/django_yunohost_integration).
|
||||
|
||||
|
@ -28,7 +33,7 @@ To demonstrate the functionality the small [django-example](https://github.com/j
|
|||
Pull requests welcome ;)
|
||||
|
||||
|
||||
**Version incluse :** 0.5.0rc1~ynh1
|
||||
**Version incluse :** 0.2.0~ynh1
|
||||
## Avertissements / informations importantes
|
||||
|
||||
## local test
|
||||
|
@ -186,23 +191,23 @@ root@yunohost:~# journalctl --unit=django_example_ynh --follow
|
|||
|
||||
## Documentations et ressources
|
||||
|
||||
* Site officiel de l'app : <https://github.com/YunoHost-Apps/django_example_ynh>
|
||||
* Documentation officielle utilisateur : <https://github.com/YunoHost-Apps/django_example_ynh>
|
||||
* Documentation officielle de l'admin : <https://github.com/YunoHost-Apps/django_example_ynh>
|
||||
* Dépôt de code officiel de l'app : <https://github.com/YunoHost-Apps/django_example_ynh>
|
||||
* Documentation YunoHost pour cette app : <https://yunohost.org/app_django_example_ynh>
|
||||
* Signaler un bug : <https://github.com/YunoHost-Apps/django_example_ynh_ynh/issues>
|
||||
* Site officiel de l’app : <https://github.com/YunoHost-Apps/django_example_ynh>
|
||||
* Documentation officielle utilisateur : <https://github.com/jedie/django-example>
|
||||
* Documentation officielle de l’admin : <https://github.com/YunoHost-Apps/django_example_ynh>
|
||||
* Dépôt de code officiel de l’app : <https://github.com/YunoHost-Apps/django_example_ynh>
|
||||
* Documentation YunoHost pour cette app : <https://yunohost.org/app_django_example>
|
||||
* Signaler un bug : <https://github.com/YunoHost-Apps/django_example_ynh/issues>
|
||||
|
||||
## Informations pour les développeurs
|
||||
|
||||
Merci de faire vos pull request sur la [branche testing](https://github.com/YunoHost-Apps/django_example_ynh_ynh/tree/testing).
|
||||
Merci de faire vos pull request sur la [branche testing](https://github.com/YunoHost-Apps/django_example_ynh/tree/testing).
|
||||
|
||||
Pour essayer la branche testing, procédez comme suit.
|
||||
|
||||
``` bash
|
||||
sudo yunohost app install https://github.com/YunoHost-Apps/django_example_ynh_ynh/tree/testing --debug
|
||||
sudo yunohost app install https://github.com/YunoHost-Apps/django_example_ynh/tree/testing --debug
|
||||
ou
|
||||
sudo yunohost app upgrade django_example_ynh -u https://github.com/YunoHost-Apps/django_example_ynh_ynh/tree/testing --debug
|
||||
sudo yunohost app upgrade django_example -u https://github.com/YunoHost-Apps/django_example_ynh/tree/testing --debug
|
||||
```
|
||||
|
||||
**Plus d'infos sur le packaging d'applications :** <https://yunohost.org/packaging_apps>
|
||||
**Plus d’infos sur le packaging d’applications :** <https://yunohost.org/packaging_apps>
|
|
@ -1,157 +1,129 @@
|
|||
asgiref==3.5.2 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:1d2880b792ae8757289136f1db2b7b99100ce959b2aa57fd69dab783d05afac4 \
|
||||
--hash=sha256:4a29362a6acebe09bf1d6640db38c1dc3d9217c68e6f9f6204d72667fc19a424
|
||||
async-timeout==4.0.2 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
asgiref==3.7.2 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:89b2ef2247e3b562a16eef663bc0e2e703ec6468e2fa8a5cd61cd449786d4f6e \
|
||||
--hash=sha256:9e0ce3aa93a819ba5b45120216b23878cf6e8525eb3848653452b4192b92afed
|
||||
async-timeout==4.0.2 ; python_version >= "3.9" and python_full_version <= "3.11.2" \
|
||||
--hash=sha256:2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15 \
|
||||
--hash=sha256:8ca1e4fcf50d07413d66d1a5e416e42cfdf5851c981d679a09851a6853383b3c
|
||||
bleach==5.0.1 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:085f7f33c15bd408dd9b17a4ad77c577db66d76203e5984b1bd59baeee948b2a \
|
||||
--hash=sha256:0d03255c47eb9bd2f26aa9bb7f2107732e7e8fe195ca2f64709fcf3b0a4a085c
|
||||
bx-django-utils==36 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:98f900da91e3cdb22d2f386863fe05e58cfc18ff2d7c0ee656e7d551a135f529 \
|
||||
--hash=sha256:badb8d7fb04ce449cac7896ee435e69d2786eebc3e8c756e99e9379be816cd5f
|
||||
bx-py-utils==69 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:728fd575c4d5048e114b502a97d19679f9abcda90889a6896534c48348320460 \
|
||||
--hash=sha256:b25419e020c9c5ea16938a45cf5120086a5ac29648be78a8eb98ae202515fee1
|
||||
colorama==0.4.5 ; python_version >= "3.9" and python_full_version < "4.0.0" and sys_platform == "win32" \
|
||||
--hash=sha256:854bf444933e37f5824ae7bfc1e98d5bce2ebe4160d46b5edf346a89358e99da \
|
||||
--hash=sha256:e6c6b4334fc50988a639d9b98aa429a0b57da6e17b9a44f0451f930b6967b7a4
|
||||
bleach==6.0.0 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:1a1a85c1595e07d8db14c5f09f09e6433502c51c595970edc090551f0db99414 \
|
||||
--hash=sha256:33c16e3353dbd13028ab4799a0f89a83f113405c766e9c122df8a06f5b85b3f4
|
||||
bx-django-utils==59 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:179f2098b6966edf4dd157b9d88b5924bcc3ad351513e3606a82015916998bf1 \
|
||||
--hash=sha256:d6577aabab25736d6cedbf7ccfc2e73b3e863299722e49de2e45bdde4ce24bd3
|
||||
bx-py-utils==83 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:192f121f93dd7525a8425b61863bcb2e33f61ad3feb2cde417b46aa4b43fc3c2 \
|
||||
--hash=sha256:ea8f26db32d8a95cb13876107905cafd859b63d503c37f82d8a7183896adfe70
|
||||
colorama==0.4.6 ; python_version >= "3.9" and python_full_version < "4.0.0" and sys_platform == "win32" \
|
||||
--hash=sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44 \
|
||||
--hash=sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6
|
||||
colorlog==6.7.0 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:0d33ca236784a1ba3ff9c532d4964126d8a2c44f1f0cb1d2b0728196f512f662 \
|
||||
--hash=sha256:bd94bd21c1e13fac7bd3153f4bc3a7dc0eb0974b8bc2fdf1a989e474f6e582e5
|
||||
deprecated==1.2.13 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:43ac5335da90c31c24ba028af536a91d41d53f9e6901ddb021bcc572ce44e38d \
|
||||
--hash=sha256:64756e3e14c8c5eea9795d93c524551432a0be75629f8f29e67ab8caf076c76d
|
||||
django-axes==5.39.0 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:8f039f8e98f050f13f654efca599d8a04d0b57d330c590cf89ec2bf731c9a7fb \
|
||||
--hash=sha256:97702552f7939c81db5bba2ef855ae43f20df92fa261cb79fd4c8633ba3b3955
|
||||
django-example==0.1.0rc0 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:9bf31725f539d6c3489fd29a743f496fce1080164f5a62b87a6af2be04ca81c0 \
|
||||
--hash=sha256:de4460c2175506dcb528ac4f98df8c436c2d102f8d08c77b766cf406038eef53
|
||||
django-ipware==4.0.2 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:602a58325a4808bd19197fef2676a0b2da2df40d0ecf21be414b2ff48c72ad05 \
|
||||
--hash=sha256:878dbb06a87e25550798e9ef3204ed70a200dd8b15e47dcef848cf08244f04c9
|
||||
django-axes==6.0.1 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:0d18cecaae77ad35b11d87f491f38a4d9197efb443438c97ca111e1191eaa473 \
|
||||
--hash=sha256:598de5438615d5d3dea7ef3075ae3236e693c9cbc34721bd313d0f52f613eb92
|
||||
django-example==0.2.0 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:2bcaeed97868e8be5c4d7d6a745b054f6983c931d5cefb763e6ff25807f15793 \
|
||||
--hash=sha256:469beaa9e4f3e5d0ee98f043ee533f0f01fafef128391ac9f4ca9d9f35290da0
|
||||
django-redis==5.2.0 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:1d037dc02b11ad7aa11f655d26dac3fb1af32630f61ef4428860a2e29ff92026 \
|
||||
--hash=sha256:8a99e5582c79f894168f5865c52bd921213253b7fd64d16733ae4591564465de
|
||||
django-tools==0.54.0 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:5040a91282be9d1c9d379b0c65da50bcb3691bff03cee54fd4123ace238c3a43 \
|
||||
--hash=sha256:a7b7bfa5b9c5a81966454d17dffb2403cee25a806c858ee0486a08798227598f
|
||||
django-yunohost-integration[ynh]==0.5.0rc1 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:0e6d8ec12d48d9897c9dc02fc60c35bb3c7cc5f9446961fc0be61bb6f5586197 \
|
||||
--hash=sha256:5d8823acb83a668a5126e1324d2c3c7b239595a77a03d8c9bdaa8446154c64e4
|
||||
django==4.1.2 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:26dc24f99c8956374a054bcbf58aab8dc0cad2e6ac82b0fe036b752c00eee793 \
|
||||
--hash=sha256:b8d843714810ab88d59344507d4447be8b2cf12a49031363b6eed9f1b9b2280f
|
||||
django-yunohost-integration[ynh]==0.5.2 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:05d96ae0689eb1b8c7bc30e0d247fddb1c18d2845c17a6e4ca533ed47731a4cb \
|
||||
--hash=sha256:6689115f88dc84acaf94dc01ce940023f566bf933f57115563120912a14cbeff
|
||||
django==4.1.9 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:adae3a952fd86800094ae6f64aa558572e8b4ba8dfe21f0ed8175147e75a72a1 \
|
||||
--hash=sha256:e9f074a84930662104871bfcea55c3c180c50a0a47739db82435deae6cbaf032
|
||||
gunicorn==20.1.0 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:9dcc4547dbb1cb284accfb15ab5667a0e5d1881cc443e0677b4882a4067a807e \
|
||||
--hash=sha256:e0a968b5ba15f8a328fdfd7ab1fcb5af4470c28aaf7e55df02a99bc13138e6e8
|
||||
icdiff==2.0.5 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:35d24b728e48b7e0a12bdb69386d3bfc7eef4fe922d0ac1cd70d6e5c11630bae
|
||||
packaging==21.3 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb \
|
||||
--hash=sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522
|
||||
icdiff==2.0.6 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:a2673b335d671e64fc73c44e1eaa0aa01fd0e68354e58ee17e863ab29912a79a
|
||||
packaging==23.1 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61 \
|
||||
--hash=sha256:a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f
|
||||
pprintpp==0.4.0 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:b6b4dcdd0c0c0d75e4d7b2f21a9e933e5b2ce62b26e1a54537f9651ae5a5c01d \
|
||||
--hash=sha256:ea826108e2c7f49dc6d66c752973c3fc9749142a798d6b254e1e301cfdbc6403
|
||||
psycopg2==2.9.3 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:06f32425949bd5fe8f625c49f17ebb9784e1e4fe928b7cce72edc36fb68e4c0c \
|
||||
--hash=sha256:0762c27d018edbcb2d34d51596e4346c983bd27c330218c56c4dc25ef7e819bf \
|
||||
--hash=sha256:083707a696e5e1c330af2508d8fab36f9700b26621ccbcb538abe22e15485362 \
|
||||
--hash=sha256:34b33e0162cfcaad151f249c2649fd1030010c16f4bbc40a604c1cb77173dcf7 \
|
||||
--hash=sha256:4295093a6ae3434d33ec6baab4ca5512a5082cc43c0505293087b8a46d108461 \
|
||||
--hash=sha256:8cf3878353cc04b053822896bc4922b194792df9df2f1ad8da01fb3043602126 \
|
||||
--hash=sha256:8e841d1bf3434da985cc5ef13e6f75c8981ced601fd70cc6bf33351b91562981 \
|
||||
--hash=sha256:9572e08b50aed176ef6d66f15a21d823bb6f6d23152d35e8451d7d2d18fdac56 \
|
||||
--hash=sha256:a81e3866f99382dfe8c15a151f1ca5fde5815fde879348fe5a9884a7c092a305 \
|
||||
--hash=sha256:cb10d44e6694d763fa1078a26f7f6137d69f555a78ec85dc2ef716c37447e4b2 \
|
||||
--hash=sha256:d3ca6421b942f60c008f81a3541e8faf6865a28d5a9b48544b0ee4f40cac7fca
|
||||
pyparsing==3.0.9 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb \
|
||||
--hash=sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc
|
||||
python-stdnum==1.17 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:374e2b5e13912ccdbf50b0b23fca2c3e0531174805c32d74e145f37756328340 \
|
||||
--hash=sha256:a46e6cf9652807314d369b654b255c86a59f93d18be2834f3d567ed1a346c547
|
||||
redis==4.3.4 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:a52d5694c9eb4292770084fa8c863f79367ca19884b329ab574d5cb2036b3e54 \
|
||||
--hash=sha256:ddf27071df4adf3821c4f2ca59d67525c3a82e5f268bed97b813cb4fabf87880
|
||||
setuptools==65.4.1 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:1b6bdc6161661409c5f21508763dc63ab20a9ac2f8ba20029aaaa7fdb9118012 \
|
||||
--hash=sha256:3050e338e5871e70c72983072fe34f6032ae1cdeeeb67338199c2f74e083a80e
|
||||
psycopg2==2.9.6 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:11aca705ec888e4f4cea97289a0bf0f22a067a32614f6ef64fcf7b8bfbc53744 \
|
||||
--hash=sha256:1861a53a6a0fd248e42ea37c957d36950da00266378746588eab4f4b5649e95f \
|
||||
--hash=sha256:2362ee4d07ac85ff0ad93e22c693d0f37ff63e28f0615a16b6635a645f4b9214 \
|
||||
--hash=sha256:36c941a767341d11549c0fbdbb2bf5be2eda4caf87f65dfcd7d146828bd27f39 \
|
||||
--hash=sha256:53f4ad0a3988f983e9b49a5d9765d663bbe84f508ed655affdb810af9d0972ad \
|
||||
--hash=sha256:869776630c04f335d4124f120b7fb377fe44b0a7645ab3c34b4ba42516951889 \
|
||||
--hash=sha256:a8ad4a47f42aa6aec8d061fdae21eaed8d864d4bb0f0cade5ad32ca16fcd6258 \
|
||||
--hash=sha256:b81fcb9ecfc584f661b71c889edeae70bae30d3ef74fa0ca388ecda50b1222b7 \
|
||||
--hash=sha256:d24ead3716a7d093b90b27b3d73459fe8cd90fd7065cf43b3c40966221d8c394 \
|
||||
--hash=sha256:ded2faa2e6dfb430af7713d87ab4abbfc764d8d7fb73eafe96a24155f906ebf5 \
|
||||
--hash=sha256:f15158418fd826831b28585e2ab48ed8df2d0d98f502a2b4fe619e7d5ca29011 \
|
||||
--hash=sha256:f75001a1cbbe523e00b0ef896a5a1ada2da93ccd752b7636db5a99bc57c44494 \
|
||||
--hash=sha256:f7a7a5ee78ba7dc74265ba69e010ae89dae635eea0e97b055fb641a01a31d2b1
|
||||
python-stdnum==1.18 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:bcc763d9c49ae23da5d2b7a686d5fd1deec9d9051341160a10d1ac723a26bec0 \
|
||||
--hash=sha256:d7f2a3c7ef4635c957b9cbdd9b1993d1f6ee3a2959f03e172c45440d99f296eb
|
||||
pyyaml==6.0 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:01b45c0191e6d66c470b6cf1b9531a771a83c1c4208272ead47a3ae4f2f603bf \
|
||||
--hash=sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293 \
|
||||
--hash=sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b \
|
||||
--hash=sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57 \
|
||||
--hash=sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b \
|
||||
--hash=sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4 \
|
||||
--hash=sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07 \
|
||||
--hash=sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba \
|
||||
--hash=sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9 \
|
||||
--hash=sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287 \
|
||||
--hash=sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513 \
|
||||
--hash=sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0 \
|
||||
--hash=sha256:432557aa2c09802be39460360ddffd48156e30721f5e8d917f01d31694216782 \
|
||||
--hash=sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0 \
|
||||
--hash=sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92 \
|
||||
--hash=sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f \
|
||||
--hash=sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2 \
|
||||
--hash=sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc \
|
||||
--hash=sha256:81957921f441d50af23654aa6c5e5eaf9b06aba7f0a19c18a538dc7ef291c5a1 \
|
||||
--hash=sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c \
|
||||
--hash=sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86 \
|
||||
--hash=sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4 \
|
||||
--hash=sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c \
|
||||
--hash=sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34 \
|
||||
--hash=sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b \
|
||||
--hash=sha256:afa17f5bc4d1b10afd4466fd3a44dc0e245382deca5b3c353d8b757f9e3ecb8d \
|
||||
--hash=sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c \
|
||||
--hash=sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb \
|
||||
--hash=sha256:bfaef573a63ba8923503d27530362590ff4f576c626d86a9fed95822a8255fd7 \
|
||||
--hash=sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737 \
|
||||
--hash=sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3 \
|
||||
--hash=sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d \
|
||||
--hash=sha256:d4b0ba9512519522b118090257be113b9468d804b19d63c71dbcf4a48fa32358 \
|
||||
--hash=sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53 \
|
||||
--hash=sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78 \
|
||||
--hash=sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803 \
|
||||
--hash=sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a \
|
||||
--hash=sha256:dbad0e9d368bb989f4515da330b88a057617d16b6a8245084f1b05400f24609f \
|
||||
--hash=sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174 \
|
||||
--hash=sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5
|
||||
redis==4.5.5 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:77929bc7f5dab9adf3acba2d3bb7d7658f1e0c2f1cafe7eb36434e751c471119 \
|
||||
--hash=sha256:dc87a0bdef6c8bfe1ef1e1c40be7034390c2ae02d92dcd0c7ca1729443899880
|
||||
setuptools==67.8.0 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:5df61bf30bb10c6f756eb19e7c9f3b473051f48db77fddbe06ff2ca307df9a6f \
|
||||
--hash=sha256:62642358adc77ffa87233bc4d2354c4b2682d214048f500964dbe760ccedf102
|
||||
six==1.16.0 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926 \
|
||||
--hash=sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254
|
||||
sqlparse==0.4.3 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:0323c0ec29cd52bceabc1b4d9d579e311f3e4961b98d174201d5622a23b85e34 \
|
||||
--hash=sha256:69ca804846bb114d2ec380e4360a8a340db83f0ccf3afceeb1404df028f57268
|
||||
tzdata==2022.4 ; python_version >= "3.9" and python_full_version < "4.0.0" and sys_platform == "win32" \
|
||||
--hash=sha256:74da81ecf2b3887c94e53fc1d466d4362aaf8b26fc87cda18f22004544694583 \
|
||||
--hash=sha256:ada9133fbd561e6ec3d1674d3fba50251636e918aa97bd59d63735bef5a513bb
|
||||
sqlparse==0.4.4 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:5430a4fe2ac7d0f93e66f1efc6e1338a41884b7ddf2a350cedd20ccc4d9d28f3 \
|
||||
--hash=sha256:d446183e84b8349fa3061f0fe7f06ca94ba65b426946ffebe6e3e8295332420c
|
||||
typing-extensions==4.6.3 ; python_version >= "3.9" and python_version < "3.11" \
|
||||
--hash=sha256:88a4153d8505aabbb4e13aacb7c486c2b4a33ca3b3f807914a9b4c844c471c26 \
|
||||
--hash=sha256:d91d5919357fe7f681a9f2b5b4cb2a5f1ef0a1e9f59c4d8ff0d3491e05c0ffd5
|
||||
tzdata==2023.3 ; python_version >= "3.9" and python_full_version < "4.0.0" and sys_platform == "win32" \
|
||||
--hash=sha256:11ef1e08e54acb0d4f95bdb1be05da659673de4acbd21bf9c69e94cc5e907a3a \
|
||||
--hash=sha256:7e65763eef3120314099b6939b5546db7adce1e7d6f2e179e3df563c70511eda
|
||||
webencodings==0.5.1 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78 \
|
||||
--hash=sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923
|
||||
wrapt==1.14.1 ; python_version >= "3.9" and python_full_version < "4.0.0" \
|
||||
--hash=sha256:00b6d4ea20a906c0ca56d84f93065b398ab74b927a7a3dbd470f6fc503f95dc3 \
|
||||
--hash=sha256:01c205616a89d09827986bc4e859bcabd64f5a0662a7fe95e0d359424e0e071b \
|
||||
--hash=sha256:02b41b633c6261feff8ddd8d11c711df6842aba629fdd3da10249a53211a72c4 \
|
||||
--hash=sha256:07f7a7d0f388028b2df1d916e94bbb40624c59b48ecc6cbc232546706fac74c2 \
|
||||
--hash=sha256:11871514607b15cfeb87c547a49bca19fde402f32e2b1c24a632506c0a756656 \
|
||||
--hash=sha256:1b376b3f4896e7930f1f772ac4b064ac12598d1c38d04907e696cc4d794b43d3 \
|
||||
--hash=sha256:21ac0156c4b089b330b7666db40feee30a5d52634cc4560e1905d6529a3897ff \
|
||||
--hash=sha256:257fd78c513e0fb5cdbe058c27a0624c9884e735bbd131935fd49e9fe719d310 \
|
||||
--hash=sha256:2b39d38039a1fdad98c87279b48bc5dce2c0ca0d73483b12cb72aa9609278e8a \
|
||||
--hash=sha256:2cf71233a0ed05ccdabe209c606fe0bac7379fdcf687f39b944420d2a09fdb57 \
|
||||
--hash=sha256:2fe803deacd09a233e4762a1adcea5db5d31e6be577a43352936179d14d90069 \
|
||||
--hash=sha256:3232822c7d98d23895ccc443bbdf57c7412c5a65996c30442ebe6ed3df335383 \
|
||||
--hash=sha256:34aa51c45f28ba7f12accd624225e2b1e5a3a45206aa191f6f9aac931d9d56fe \
|
||||
--hash=sha256:36f582d0c6bc99d5f39cd3ac2a9062e57f3cf606ade29a0a0d6b323462f4dd87 \
|
||||
--hash=sha256:380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d \
|
||||
--hash=sha256:40e7bc81c9e2b2734ea4bc1aceb8a8f0ceaac7c5299bc5d69e37c44d9081d43b \
|
||||
--hash=sha256:43ca3bbbe97af00f49efb06e352eae40434ca9d915906f77def219b88e85d907 \
|
||||
--hash=sha256:4fcc4649dc762cddacd193e6b55bc02edca674067f5f98166d7713b193932b7f \
|
||||
--hash=sha256:5a0f54ce2c092aaf439813735584b9537cad479575a09892b8352fea5e988dc0 \
|
||||
--hash=sha256:5a9a0d155deafd9448baff28c08e150d9b24ff010e899311ddd63c45c2445e28 \
|
||||
--hash=sha256:5b02d65b9ccf0ef6c34cba6cf5bf2aab1bb2f49c6090bafeecc9cd81ad4ea1c1 \
|
||||
--hash=sha256:60db23fa423575eeb65ea430cee741acb7c26a1365d103f7b0f6ec412b893853 \
|
||||
--hash=sha256:642c2e7a804fcf18c222e1060df25fc210b9c58db7c91416fb055897fc27e8cc \
|
||||
--hash=sha256:6a9a25751acb379b466ff6be78a315e2b439d4c94c1e99cb7266d40a537995d3 \
|
||||
--hash=sha256:6b1a564e6cb69922c7fe3a678b9f9a3c54e72b469875aa8018f18b4d1dd1adf3 \
|
||||
--hash=sha256:6d323e1554b3d22cfc03cd3243b5bb815a51f5249fdcbb86fda4bf62bab9e164 \
|
||||
--hash=sha256:6e743de5e9c3d1b7185870f480587b75b1cb604832e380d64f9504a0535912d1 \
|
||||
--hash=sha256:709fe01086a55cf79d20f741f39325018f4df051ef39fe921b1ebe780a66184c \
|
||||
--hash=sha256:7b7c050ae976e286906dd3f26009e117eb000fb2cf3533398c5ad9ccc86867b1 \
|
||||
--hash=sha256:7d2872609603cb35ca513d7404a94d6d608fc13211563571117046c9d2bcc3d7 \
|
||||
--hash=sha256:7ef58fb89674095bfc57c4069e95d7a31cfdc0939e2a579882ac7d55aadfd2a1 \
|
||||
--hash=sha256:80bb5c256f1415f747011dc3604b59bc1f91c6e7150bd7db03b19170ee06b320 \
|
||||
--hash=sha256:81b19725065dcb43df02b37e03278c011a09e49757287dca60c5aecdd5a0b8ed \
|
||||
--hash=sha256:833b58d5d0b7e5b9832869f039203389ac7cbf01765639c7309fd50ef619e0b1 \
|
||||
--hash=sha256:88bd7b6bd70a5b6803c1abf6bca012f7ed963e58c68d76ee20b9d751c74a3248 \
|
||||
--hash=sha256:8ad85f7f4e20964db4daadcab70b47ab05c7c1cf2a7c1e51087bfaa83831854c \
|
||||
--hash=sha256:8c0ce1e99116d5ab21355d8ebe53d9460366704ea38ae4d9f6933188f327b456 \
|
||||
--hash=sha256:8d649d616e5c6a678b26d15ece345354f7c2286acd6db868e65fcc5ff7c24a77 \
|
||||
--hash=sha256:903500616422a40a98a5a3c4ff4ed9d0066f3b4c951fa286018ecdf0750194ef \
|
||||
--hash=sha256:9736af4641846491aedb3c3f56b9bc5568d92b0692303b5a305301a95dfd38b1 \
|
||||
--hash=sha256:988635d122aaf2bdcef9e795435662bcd65b02f4f4c1ae37fbee7401c440b3a7 \
|
||||
--hash=sha256:9cca3c2cdadb362116235fdbd411735de4328c61425b0aa9f872fd76d02c4e86 \
|
||||
--hash=sha256:9e0fd32e0148dd5dea6af5fee42beb949098564cc23211a88d799e434255a1f4 \
|
||||
--hash=sha256:9f3e6f9e05148ff90002b884fbc2a86bd303ae847e472f44ecc06c2cd2fcdb2d \
|
||||
--hash=sha256:a85d2b46be66a71bedde836d9e41859879cc54a2a04fad1191eb50c2066f6e9d \
|
||||
--hash=sha256:a9a52172be0b5aae932bef82a79ec0a0ce87288c7d132946d645eba03f0ad8a8 \
|
||||
--hash=sha256:aa31fdcc33fef9eb2552cbcbfee7773d5a6792c137b359e82879c101e98584c5 \
|
||||
--hash=sha256:b014c23646a467558be7da3d6b9fa409b2c567d2110599b7cf9a0c5992b3b471 \
|
||||
--hash=sha256:b21bb4c09ffabfa0e85e3a6b623e19b80e7acd709b9f91452b8297ace2a8ab00 \
|
||||
--hash=sha256:b5901a312f4d14c59918c221323068fad0540e34324925c8475263841dbdfe68 \
|
||||
--hash=sha256:b9b7a708dd92306328117d8c4b62e2194d00c365f18eff11a9b53c6f923b01e3 \
|
||||
--hash=sha256:d1967f46ea8f2db647c786e78d8cc7e4313dbd1b0aca360592d8027b8508e24d \
|
||||
--hash=sha256:d52a25136894c63de15a35bc0bdc5adb4b0e173b9c0d07a2be9d3ca64a332735 \
|
||||
--hash=sha256:d77c85fedff92cf788face9bfa3ebaa364448ebb1d765302e9af11bf449ca36d \
|
||||
--hash=sha256:d79d7d5dc8a32b7093e81e97dad755127ff77bcc899e845f41bf71747af0c569 \
|
||||
--hash=sha256:dbcda74c67263139358f4d188ae5faae95c30929281bc6866d00573783c422b7 \
|
||||
--hash=sha256:ddaea91abf8b0d13443f6dac52e89051a5063c7d014710dcb4d4abb2ff811a59 \
|
||||
--hash=sha256:dee0ce50c6a2dd9056c20db781e9c1cfd33e77d2d569f5d1d9321c641bb903d5 \
|
||||
--hash=sha256:dee60e1de1898bde3b238f18340eec6148986da0455d8ba7848d50470a7a32fb \
|
||||
--hash=sha256:e2f83e18fe2f4c9e7db597e988f72712c0c3676d337d8b101f6758107c42425b \
|
||||
--hash=sha256:e3fb1677c720409d5f671e39bac6c9e0e422584e5f518bfd50aa4cbbea02433f \
|
||||
--hash=sha256:ee2b1b1769f6707a8a445162ea16dddf74285c3964f605877a20e38545c3c462 \
|
||||
--hash=sha256:ee6acae74a2b91865910eef5e7de37dc6895ad96fa23603d1d27ea69df545015 \
|
||||
--hash=sha256:ef3f72c9666bba2bab70d2a8b79f2c6d2c1a42a7f7e2b0ec83bb2f9e383950af
|
||||
|
|
|
@ -15,7 +15,7 @@ from django_yunohost_integration.base_settings import * # noqa:F401,F403
|
|||
from django_yunohost_integration.secret_key import get_or_create_secret as __get_or_create_secret
|
||||
|
||||
|
||||
# https://github.com/jedie/django-example/
|
||||
# https://github.com/jedie/django_example/
|
||||
from django_example.settings.prod import * # noqa:F401,F403 isort:skip
|
||||
|
||||
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
[](https://github.com/YunoHost-Apps/django_example_ynh/actions/workflows/pytest.yml) [](https://github.com/YunoHost-Apps/django_example_ynh/actions/workflows/package_linter.yml)
|
||||
[](https://github.com/YunoHost-Apps/django_example_ynh/actions/workflows/tests.yml)
|
||||
[](https://codecov.io/github/jedie/django_example_ynh)
|
||||
[](https://pypi.org/project/django_example_ynh/)
|
||||
[](https://github.com/YunoHost-Apps/django_example_ynh/blob/main/pyproject.toml)
|
||||
[](https://github.com/YunoHost-Apps/django_example_ynh/blob/main/LICENSE)
|
||||
|
||||
Demo [YunoHost Application](https://install-app.yunohost.org/?app=django_example_ynh) to demonstrate the integration of a [Python](https://www.python.org/)/[Django](https://www.djangoproject.com/) project under YunoHost using [django_yunohost_integration](https://github.com/YunoHost-Apps/django_yunohost_integration).
|
||||
|
||||
|
|
|
@ -1,17 +1,18 @@
|
|||
{
|
||||
"name": "Django Example",
|
||||
"id": "django_example_ynh",
|
||||
"id": "django_example",
|
||||
"packaging_format": 1,
|
||||
"description": {
|
||||
"en": "App to demonstrate the integration of a Django project under YunoHost via https://github.com/YunoHost-Apps/django_yunohost_integration"
|
||||
},
|
||||
"version": "0.5.0rc1~ynh1",
|
||||
"en": "Demo YunoHost Application to demonstrate the integration of a Django project",
|
||||
"fr": "Démonstration d'intégration d'un projet Django dand YunoHost"
|
||||
},
|
||||
"version": "0.2.0~ynh1",
|
||||
"url": "https://github.com/YunoHost-Apps/django_example_ynh",
|
||||
"upstream": {
|
||||
"license": "GPL-3.0",
|
||||
"website": "https://github.com/YunoHost-Apps/django_example_ynh",
|
||||
"admindoc": "https://github.com/YunoHost-Apps/django_example_ynh",
|
||||
"userdoc": "https://github.com/YunoHost-Apps/django_example_ynh",
|
||||
"userdoc": "https://github.com/jedie/django-example",
|
||||
"code": "https://github.com/YunoHost-Apps/django_example_ynh"
|
||||
},
|
||||
"license": "GPL-3.0",
|
||||
|
|
2530
poetry.lock
generated
2530
poetry.lock
generated
File diff suppressed because it is too large
Load diff
|
@ -1,37 +1,42 @@
|
|||
[tool.poetry]
|
||||
name = "django_example_ynh"
|
||||
version = "0.5.0rc1+ynh1"
|
||||
version = "0.2.0+ynh1"
|
||||
description = "Demo YunoHost Application to demonstrate the integration of a Django project under YunoHost."
|
||||
authors = ["JensDiemer <git@jensdiemer.de>"]
|
||||
license = "GPL"
|
||||
authors = ["Jens Diemer <django_example_ynh@jensdiemer.de>"]
|
||||
homepage = "https://github.com/YunoHost-Apps/django_example_ynh"
|
||||
license = "GPL-3.0-or-later"
|
||||
readme = 'README.md'
|
||||
|
||||
[tool.poetry.urls]
|
||||
"Bug Tracker" = "https://github.com/YunoHost-Apps/django_example_ynh/issues"
|
||||
|
||||
[tool.poetry.dependencies]
|
||||
python = ">=3.9,<4.0.0" # Stay with 3.9 until YunoHost used >=Debian 11 (Bullseye)
|
||||
|
||||
django-example = ">=0.1.0rc0" # https://github.com/jedie/django-example
|
||||
|
||||
#
|
||||
django_example = ">=0.1.0rc0" # https://github.com/jedie/django-example
|
||||
#
|
||||
# extras "ynh" will install: gunicorn, psycopg2, django-redis and django-axes
|
||||
# see: https://github.com/YunoHost-Apps/django_yunohost_integration/blob/main/pyproject.toml
|
||||
django_yunohost_integration = {version = ">=0.5.0rc1", extras = ["ynh"]} # https://github.com/YunoHost-Apps/django_yunohost_integration
|
||||
django_yunohost_integration = {version = ">=0.5.1", extras = ["ynh"]} # https://github.com/YunoHost-Apps/django_yunohost_integration
|
||||
|
||||
|
||||
[tool.poetry.dev-dependencies]
|
||||
bx_py_utils = "*" # https://github.com/boxine/bx_py_utils
|
||||
bx_django_utils = "*" # https://github.com/boxine/bx_django_utils
|
||||
tox = "*"
|
||||
tox = "*" # https://github.com/tox-dev/tox
|
||||
coveralls = "*" # http://github.com/TheKevJames/coveralls-python
|
||||
darker = "*" # https://github.com/akaihola/pytest-darker
|
||||
isort = "*" # https://github.com/pycqa/isort
|
||||
flake8 = "*" # https://github.com/pycqa/flake8
|
||||
EditorConfig = "*" # https://github.com/editorconfig/editorconfig-core-py
|
||||
safety = "*" # https://github.com/pyupio/safety
|
||||
mypy = "*" # https://github.com/python/mypy
|
||||
tomli = "*" # https://github.com/hukkin/tomli
|
||||
twine = "*" # https://github.com/pypa/twine
|
||||
poetry-publish = "*" # https://github.com/jedie/poetry-publish
|
||||
pytest = "*"
|
||||
pytest-cov = "*"
|
||||
pytest-django = "*"
|
||||
pytest-darker = "*" # https://github.com/akaihola/pytest-darker
|
||||
coveralls = "*"
|
||||
isort = "*"
|
||||
flake8 = "*"
|
||||
EditorConfig = "*" # https://github.com/editorconfig/editorconfig-core-py
|
||||
safety = "*" # https://github.com/pyupio/safety
|
||||
requests = "*" # https://github.com/psf/requests
|
||||
packaging = "*" # https://github.com/pypa/packagi
|
||||
beautifulsoup4 = "*" # https://pypi.org/project/beautifulsoup4/
|
||||
|
@ -62,8 +67,8 @@ log_level = "INFO"
|
|||
# https://pycqa.github.io/isort/docs/configuration/config_files/#pyprojecttoml-preferred-format
|
||||
atomic=true
|
||||
profile='black'
|
||||
skip_glob=["*/htmlcov/*","*/migrations/*","*/local_test/*"]
|
||||
known_first_party=['django_yunohost_integration']
|
||||
skip_glob=[".*", "*/htmlcov/*","*/migrations/*","*/local_test/*"]
|
||||
known_first_party=['django_example']
|
||||
line_length=100
|
||||
lines_after_imports=2
|
||||
|
||||
|
@ -88,7 +93,6 @@ addopts = """
|
|||
--cov-report xml
|
||||
--no-cov-on-fail
|
||||
--showlocals
|
||||
--darker
|
||||
--doctest-modules
|
||||
--failed-first
|
||||
--new-first
|
||||
|
@ -96,7 +100,7 @@ addopts = """
|
|||
|
||||
|
||||
[tool.coverage.run]
|
||||
omit = [".*"]
|
||||
omit = ['.*', '*/tests/*']
|
||||
|
||||
|
||||
[tool.tox]
|
||||
|
@ -104,7 +108,7 @@ omit = [".*"]
|
|||
legacy_tox_ini = """
|
||||
[tox]
|
||||
isolated_build = True
|
||||
envlist = py{39,310}
|
||||
envlist = py{311,310,39}
|
||||
skip_missing_interpreters = True
|
||||
|
||||
[testenv]
|
||||
|
@ -113,3 +117,33 @@ whitelist_externals = make
|
|||
commands =
|
||||
make pytest
|
||||
"""
|
||||
|
||||
|
||||
[manageprojects] # https://github.com/jedie/manageprojects
|
||||
initial_revision = "da47a1e"
|
||||
initial_date = 2022-11-06T17:25:53+01:00
|
||||
cookiecutter_template = "https://github.com/jedie/cookiecutter_templates/"
|
||||
cookiecutter_directory = "yunohost_django_package"
|
||||
applied_migrations = [
|
||||
"4dbd146", # 2022-11-06T17:59:58+01:00
|
||||
"baf1ebc", # 2022-11-30T21:19:10+01:00
|
||||
"44aa620", # 2022-12-21T19:59:39+01:00
|
||||
"b204761", # 2022-12-21T20:25:20+01:00
|
||||
]
|
||||
|
||||
[manageprojects.cookiecutter_context.cookiecutter]
|
||||
project_name = "Django Example"
|
||||
full_name = "Jens Diemer"
|
||||
github_username = "jedie"
|
||||
author_email = "django_example_ynh@jensdiemer.de"
|
||||
upstream_pkg_name = "django_example"
|
||||
upstream_url = "https://github.com/jedie/django-example"
|
||||
ynh_app_pkg_name = "django_example_ynh"
|
||||
ynh_app_url = "https://github.com/YunoHost-Apps/django_example_ynh"
|
||||
bug_tracker_url = "https://github.com/jedie/django-example/issues"
|
||||
upstream_version = "0.1.0rc0"
|
||||
ynh_version = "1"
|
||||
package_description = "Demo YunoHost Application to demonstrate the integration of a Django project under YunoHost."
|
||||
license = "GPL-3.0-or-later"
|
||||
_template = "https://github.com/jedie/cookiecutter_templates/"
|
||||
_output_dir = "~/repos_ynh/django_example_ynh"
|
||||
|
|
|
@ -11,7 +11,6 @@ import sys
|
|||
from pathlib import Path
|
||||
|
||||
import django
|
||||
|
||||
from django_yunohost_integration.local_test import create_local_test
|
||||
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@ from django.contrib.auth.models import User
|
|||
from django.test import override_settings
|
||||
from django.test.testcases import TestCase
|
||||
from django.urls.base import reverse
|
||||
|
||||
from django_yunohost_integration.test_utils import generate_basic_auth
|
||||
|
||||
|
||||
|
@ -22,7 +21,7 @@ class DjangoYnhTestCase(HtmlAssertionMixin, TestCase):
|
|||
|
||||
assert str(settings.FINALPATH).endswith('/local_test/opt_yunohost')
|
||||
assert str(settings.PUBLIC_PATH).endswith('/local_test/var_www')
|
||||
assert str(settings.LOG_FILE).endswith('/local_test/var_log_django_example_ynh.log')
|
||||
assert str(settings.LOG_FILE).endswith('/local_test/var_log_django_example.log')
|
||||
|
||||
assert settings.ROOT_URLCONF == 'urls'
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@ from bx_django_utils.test_utils.html_assertion import (
|
|||
from django.conf import settings
|
||||
from django.test.testcases import TestCase
|
||||
from django.urls.base import reverse
|
||||
|
||||
from django_example import __version__
|
||||
|
||||
|
||||
|
@ -28,7 +29,7 @@ class ExampleProjectTestCase(HtmlAssertionMixin, TestCase):
|
|||
response,
|
||||
parts=(
|
||||
f'<h2>YunoHost Django Example Project v{__version__}</h2>',
|
||||
'<p>Go to <a href="/app_path/admin/">Django Admin</a>.</p>',
|
||||
'<li><a href="/app_path/admin/">Django Admin</a></li>',
|
||||
'<p>Log in to see more information</p>',
|
||||
'<tr><td>User:</td><td>AnonymousUser</td></tr>',
|
||||
'<tr><td>META:</td><td></td></tr>',
|
||||
|
@ -56,7 +57,7 @@ class ExampleProjectTestCase(HtmlAssertionMixin, TestCase):
|
|||
response,
|
||||
parts=(
|
||||
f'<h2>YunoHost Django Example Project v{__version__}</h2>',
|
||||
'<p>Go to <a href="/app_path/admin/">Django Admin</a>.</p>',
|
||||
'<li><a href="/app_path/admin/">Django Admin</a></li>',
|
||||
'<tr><td>User:</td><td>test</td></tr>',
|
||||
f'<tr><td>Process ID:</td><td>{os.getpid()}</td></tr>',
|
||||
),
|
||||
|
|
|
@ -20,15 +20,20 @@
|
|||
<!-- Content -->
|
||||
<div class="colM" id="content">
|
||||
<h2>
|
||||
YunoHost Django Example Project v0.1.0rc0
|
||||
YunoHost Django Example Project v0.2.0
|
||||
</h2>
|
||||
<p>
|
||||
Go to
|
||||
<a href="/app_path/admin/">
|
||||
Django Admin
|
||||
</a>
|
||||
.
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="/app_path/admin/">
|
||||
Django Admin
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/app_path/login-required/">
|
||||
Test Login Required View
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
Log in to see more information
|
||||
</p>
|
||||
|
@ -64,6 +69,14 @@
|
|||
AnonymousUser
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Remote Address:
|
||||
</td>
|
||||
<td>
|
||||
127.0.0.1
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Process User:
|
||||
|
@ -134,8 +147,8 @@
|
|||
<!-- END Content -->
|
||||
<hr/>
|
||||
<p>
|
||||
<a href="https://github.com/jedie/django-example">
|
||||
github.com/jedie/django-example
|
||||
<a href="https://github.com/jedie/django_example">
|
||||
github.com/jedie/django_example
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
|
|
|
@ -8,10 +8,10 @@ import tomli
|
|||
from bx_django_utils.filename import clean_filename
|
||||
from bx_py_utils.path import assert_is_dir, assert_is_file
|
||||
from django_tools.unittest_utils.project_setup import check_editor_config
|
||||
|
||||
import django_yunohost_integration
|
||||
from django_yunohost_integration.test_utils import assert_project_version
|
||||
|
||||
from django_example import __version__
|
||||
|
||||
|
||||
PACKAGE_ROOT = Path(__file__).parent.parent
|
||||
|
||||
|
@ -25,17 +25,17 @@ def assert_file_contains_string(file_path, string):
|
|||
|
||||
|
||||
def test_version():
|
||||
upstream_version = django_yunohost_integration.__version__
|
||||
|
||||
assert_project_version(
|
||||
current_version=upstream_version,
|
||||
github_project_url='https://github.com/YunoHost-Apps/django_yunohost_integration',
|
||||
current_version=__version__,
|
||||
github_project_url='https://github.com/jedie/django-example',
|
||||
)
|
||||
|
||||
pyproject_toml_path = Path(PACKAGE_ROOT, 'pyproject.toml')
|
||||
pyproject_toml = tomli.loads(pyproject_toml_path.read_text(encoding='UTF-8'))
|
||||
pyproject_version = pyproject_toml['tool']['poetry']['version']
|
||||
assert pyproject_version.startswith(f'{upstream_version}+ynh')
|
||||
assert pyproject_version.startswith(
|
||||
f'{__version__}+ynh'
|
||||
), f'{pyproject_version!r} does not start with "{__version__}+ynh"'
|
||||
|
||||
# pyproject.toml needs a PEP 440 conform version and used "+ynh"
|
||||
# the YunoHost syntax is: "~ynh", just "convert this:
|
||||
|
@ -108,3 +108,28 @@ def test_screenshot_filenames():
|
|||
|
||||
def test_check_editor_config():
|
||||
check_editor_config(package_root=PACKAGE_ROOT)
|
||||
|
||||
|
||||
def _call_make(*args):
|
||||
make_bin = shutil.which('make')
|
||||
assert make_bin
|
||||
return subprocess.check_output(
|
||||
(make_bin,) + args,
|
||||
text=True,
|
||||
env=dict(PATH=os.environ['PATH']),
|
||||
stderr=subprocess.STDOUT,
|
||||
cwd=str(PACKAGE_ROOT),
|
||||
)
|
||||
|
||||
|
||||
def test_check_code_style():
|
||||
# First try:
|
||||
try:
|
||||
_call_make('lint')
|
||||
except subprocess.CalledProcessError:
|
||||
# Fix and test again:
|
||||
_call_make('fix-code-style')
|
||||
try:
|
||||
_call_make('lint')
|
||||
except subprocess.CalledProcessError as err:
|
||||
raise AssertionError(f'Linting error:\n{"-"*100}\n{err.stdout}\n{"-"*100}')
|
||||
|
|
Loading…
Add table
Reference in a new issue