From 8b80c36c662044b6ee1a012e1b890f6dc701272b Mon Sep 17 00:00:00 2001 From: Jens Diemer Date: Sun, 4 Aug 2024 21:04:04 +0200 Subject: [PATCH 1/7] Bugfix tests and collect all --- for_runners_ynh/tests/__init__.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/for_runners_ynh/tests/__init__.py b/for_runners_ynh/tests/__init__.py index 02ac48d..183f0eb 100644 --- a/for_runners_ynh/tests/__init__.py +++ b/for_runners_ynh/tests/__init__.py @@ -51,8 +51,6 @@ def setup_ynh_tests() -> None: django.setup() - os.chdir(Path(for_runners_ynh.__file__).parent) - def load_tests(loader, tests, pattern): """ From 5debad09858e2c491f7f6e766c2a6f5912afa8b1 Mon Sep 17 00:00:00 2001 From: Jens Diemer Date: Sun, 4 Aug 2024 21:05:16 +0200 Subject: [PATCH 2/7] Use min. Python 3.11 --- .github/workflows/tests.yml | 2 +- dev-cli.py | 2 +- for_runners_ynh/tests/test_project_setup.py | 5 +---- pyproject.toml | 10 ++-------- tests/test_project_setup.py | 7 +------ 5 files changed, 6 insertions(+), 20 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 19f1b36..f2c2de1 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -16,7 +16,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.12", "3.11", "3.10"] + python-version: ["3.12", "3.11"] steps: - name: Checkout run: | diff --git a/dev-cli.py b/dev-cli.py index 70e9b2f..059bf12 100755 --- a/dev-cli.py +++ b/dev-cli.py @@ -33,7 +33,7 @@ else: sys.exit(-1) -assert sys.version_info >= (3, 10), f'Python version {sys.version_info} is too old!' +assert sys.version_info >= (3, 11), f'Python version {sys.version_info} is too old!' if sys.platform == 'win32': # wtf diff --git a/for_runners_ynh/tests/test_project_setup.py b/for_runners_ynh/tests/test_project_setup.py index 9311703..0158f63 100644 --- a/for_runners_ynh/tests/test_project_setup.py +++ b/for_runners_ynh/tests/test_project_setup.py @@ -1,10 +1,7 @@ from for_runners_ynh.cli.dev import PACKAGE_ROOT -try: - import tomllib # New in Python 3.11 -except ImportError: - import tomli as tomllib +import tomllib from bx_django_utils.filename import clean_filename from bx_py_utils.path import assert_is_dir, assert_is_file diff --git a/pyproject.toml b/pyproject.toml index 358e4c7..a744e9e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,7 +7,7 @@ readme = "README.md" authors = [ {name = 'Jens Diemer', email = 'git@jensdiemer.de'} ] -requires-python = ">=3.9" # Stay with 3.9 until YunoHost used >=Debian 11 (Bullseye) +requires-python = ">=3.11" dependencies = [ "django_for_runners>=0.18.1", # https://github.com/jedie/django-for-runners # @@ -45,12 +45,6 @@ dev = [ # https://github.com/pycqa/isort # https://github.com/pygments/pygments "darker[flynt, isort, color]", - - # indirect depencies added because of bug: - # https://github.com/pypa/pip/issues/9644 / https://github.com/jazzband/pip-tools/issues/1866 - # to avoid errors like: - # In --require-hashes mode, all requirements must have their versions pinned with ==. These do not: ... - "tomli", # Only needed for Python <3.11 ] [project.urls] @@ -138,7 +132,7 @@ exclude_lines = [ legacy_tox_ini = """ [tox] isolated_build = True -envlist = py{312,311,310} +envlist = py{312,311} skip_missing_interpreters = True [testenv] diff --git a/tests/test_project_setup.py b/tests/test_project_setup.py index a385582..4b114f9 100644 --- a/tests/test_project_setup.py +++ b/tests/test_project_setup.py @@ -1,13 +1,8 @@ import os +import tomllib from pathlib import Path from unittest import TestCase - -try: - import tomllib # New in Python 3.11 -except ImportError: - import tomli as tomllib - 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 From 3690d358aef8d9fc9fef5c284b8dcddfb3ffda31 Mon Sep 17 00:00:00 2001 From: Jens Diemer Date: Sun, 4 Aug 2024 21:05:51 +0200 Subject: [PATCH 3/7] Update requirements --- README.md | 4 +- README_es.md | 4 +- README_eu.md | 4 +- README_fr.md | 4 +- README_gl.md | 4 +- README_id.md | 4 +- README_it.md | 2 +- README_zh_Hans.md | 4 +- conf/requirements.txt | 123 ++++++++------ for_runners_ynh/__init__.py | 2 +- for_runners_ynh/cli/dev.py | 27 +-- for_runners_ynh/constants.py | 8 - for_runners_ynh/tests/__init__.py | 8 +- for_runners_ynh/tests/test_project_setup.py | 10 +- for_runners_ynh/tests/test_readme.py | 8 +- manifest.toml | 2 +- pyproject.toml | 10 +- requirements.dev.txt | 157 +++++++++--------- ...roject_create_unknown_user_1.snapshot.html | 4 +- tests/test_project_setup.py | 12 +- 20 files changed, 209 insertions(+), 192 deletions(-) diff --git a/README.md b/README.md index b25d296..d132a50 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ It shall NOT be edited by hand. *[Read this README in other languages.](./ALL_README.md)* -> *This package allows you to install django-for-runners quickly and simply on a YunoHost server.* +> *This package allows you to install django-for-runners quickly and simply on a YunoHost server.* > *If you don't have YunoHost, please consult [the guide](https://yunohost.org/install) to learn how to install it.* ## Overview @@ -31,7 +31,7 @@ This package for YunoHost used [django-yunohost-integration](https://github.com/ More screenshots are here: [jedie.github.io/tree/master/screenshots/django-for-runners](https://github.com/jedie/jedie.github.io/tree/master/screenshots/django-for-runners/README.creole) -**Shipped version:** 0.18.1~ynh1 +**Shipped version:** 0.19.0~ynh1 ## Screenshots diff --git a/README_es.md b/README_es.md index 63b1c8d..318440c 100644 --- a/README_es.md +++ b/README_es.md @@ -11,7 +11,7 @@ No se debe editar a mano. *[Leer este README en otros idiomas.](./ALL_README.md)* -> *Este paquete le permite instalardjango-for-runners rapidamente y simplement en un servidor YunoHost.* +> *Este paquete le permite instalardjango-for-runners rapidamente y simplement en un servidor YunoHost.* > *Si no tiene YunoHost, visita [the guide](https://yunohost.org/install) para aprender como instalarla.* ## Descripción general @@ -31,7 +31,7 @@ This package for YunoHost used [django-yunohost-integration](https://github.com/ More screenshots are here: [jedie.github.io/tree/master/screenshots/django-for-runners](https://github.com/jedie/jedie.github.io/tree/master/screenshots/django-for-runners/README.creole) -**Versión actual:** 0.18.1~ynh1 +**Versión actual:** 0.19.0~ynh1 ## Capturas diff --git a/README_eu.md b/README_eu.md index 9cda598..78c0915 100644 --- a/README_eu.md +++ b/README_eu.md @@ -11,7 +11,7 @@ EZ editatu eskuz. *[Irakurri README hau beste hizkuntzatan.](./ALL_README.md)* -> *Pakete honek django-for-runners YunoHost zerbitzari batean azkar eta zailtasunik gabe instalatzea ahalbidetzen dizu.* +> *Pakete honek django-for-runners YunoHost zerbitzari batean azkar eta zailtasunik gabe instalatzea ahalbidetzen dizu.* > *YunoHost ez baduzu, kontsultatu [gida](https://yunohost.org/install) nola instalatu ikasteko.* ## Aurreikuspena @@ -31,7 +31,7 @@ This package for YunoHost used [django-yunohost-integration](https://github.com/ More screenshots are here: [jedie.github.io/tree/master/screenshots/django-for-runners](https://github.com/jedie/jedie.github.io/tree/master/screenshots/django-for-runners/README.creole) -**Paketatutako bertsioa:** 0.18.1~ynh1 +**Paketatutako bertsioa:** 0.19.0~ynh1 ## Pantaila-argazkiak diff --git a/README_fr.md b/README_fr.md index ab96669..1e181b6 100644 --- a/README_fr.md +++ b/README_fr.md @@ -11,7 +11,7 @@ Il NE doit PAS être modifié à la main. *[Lire le README dans d'autres langues.](./ALL_README.md)* -> *Ce package vous permet d’installer django-for-runners rapidement et simplement sur un serveur YunoHost.* +> *Ce package vous permet d’installer django-for-runners rapidement et simplement sur un serveur YunoHost.* > *Si vous n’avez pas YunoHost, consultez [ce guide](https://yunohost.org/install) pour savoir comment l’installer et en profiter.* ## Vue d’ensemble @@ -31,7 +31,7 @@ This package for YunoHost used [django-yunohost-integration](https://github.com/ More screenshots are here: [jedie.github.io/tree/master/screenshots/django-for-runners](https://github.com/jedie/jedie.github.io/tree/master/screenshots/django-for-runners/README.creole) -**Version incluse :** 0.18.1~ynh1 +**Version incluse :** 0.19.0~ynh1 ## Captures d’écran diff --git a/README_gl.md b/README_gl.md index cabc1bc..cae10ee 100644 --- a/README_gl.md +++ b/README_gl.md @@ -11,7 +11,7 @@ NON debe editarse manualmente. *[Le este README en outros idiomas.](./ALL_README.md)* -> *Este paquete permíteche instalar django-for-runners de xeito rápido e doado nun servidor YunoHost.* +> *Este paquete permíteche instalar django-for-runners de xeito rápido e doado nun servidor YunoHost.* > *Se non usas YunoHost, le a [documentación](https://yunohost.org/install) para saber como instalalo.* ## Vista xeral @@ -31,7 +31,7 @@ This package for YunoHost used [django-yunohost-integration](https://github.com/ More screenshots are here: [jedie.github.io/tree/master/screenshots/django-for-runners](https://github.com/jedie/jedie.github.io/tree/master/screenshots/django-for-runners/README.creole) -**Versión proporcionada:** 0.18.1~ynh1 +**Versión proporcionada:** 0.19.0~ynh1 ## Capturas de pantalla diff --git a/README_id.md b/README_id.md index d045852..d7a1b90 100644 --- a/README_id.md +++ b/README_id.md @@ -11,7 +11,7 @@ Ini TIDAK boleh diedit dengan tangan. *[Baca README ini dengan bahasa yang lain.](./ALL_README.md)* -> *Paket ini memperbolehkan Anda untuk memasang django-for-runners secara cepat dan mudah pada server YunoHost.* +> *Paket ini memperbolehkan Anda untuk memasang django-for-runners secara cepat dan mudah pada server YunoHost.* > *Bila Anda tidak mempunyai YunoHost, silakan berkonsultasi dengan [panduan](https://yunohost.org/install) untuk mempelajari bagaimana untuk memasangnya.* ## Ringkasan @@ -31,7 +31,7 @@ This package for YunoHost used [django-yunohost-integration](https://github.com/ More screenshots are here: [jedie.github.io/tree/master/screenshots/django-for-runners](https://github.com/jedie/jedie.github.io/tree/master/screenshots/django-for-runners/README.creole) -**Versi terkirim:** 0.18.1~ynh1 +**Versi terkirim:** 0.19.0~ynh1 ## Tangkapan Layar diff --git a/README_it.md b/README_it.md index 97d20b1..2e20807 100644 --- a/README_it.md +++ b/README_it.md @@ -34,7 +34,7 @@ This package for YunoHost used [django-yunohost-integration](https://github.com/ More screenshots are here: [jedie.github.io/tree/master/screenshots/django-for-runners](https://github.com/jedie/jedie.github.io/tree/master/screenshots/django-for-runners/README.creole) -**Versione pubblicata:** 0.18.1~ynh1 +**Versione pubblicata:** 0.19.0~ynh1 ## Screenshot diff --git a/README_zh_Hans.md b/README_zh_Hans.md index 5f52b98..806392c 100644 --- a/README_zh_Hans.md +++ b/README_zh_Hans.md @@ -11,7 +11,7 @@ *[阅读此 README 的其它语言版本。](./ALL_README.md)* -> *通过此软件包,您可以在 YunoHost 服务器上快速、简单地安装 django-for-runners。* +> *通过此软件包,您可以在 YunoHost 服务器上快速、简单地安装 django-for-runners。* > *如果您还没有 YunoHost,请参阅[指南](https://yunohost.org/install)了解如何安装它。* ## 概况 @@ -31,7 +31,7 @@ This package for YunoHost used [django-yunohost-integration](https://github.com/ More screenshots are here: [jedie.github.io/tree/master/screenshots/django-for-runners](https://github.com/jedie/jedie.github.io/tree/master/screenshots/django-for-runners/README.creole) -**分发版本:** 0.18.1~ynh1 +**分发版本:** 0.19.0~ynh1 ## 截图 diff --git a/conf/requirements.txt b/conf/requirements.txt index 129ee16..7d516be 100644 --- a/conf/requirements.txt +++ b/conf/requirements.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.10 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # ./dev-cli.py update @@ -13,13 +13,10 @@ asgiref==3.8.1 \ async-timeout==4.0.3 \ --hash=sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f \ --hash=sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028 - # via - # cli-base-utilities - # for_runners_ynh (pyproject.toml) - # redis -attrs==23.2.0 \ - --hash=sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30 \ - --hash=sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1 + # via cli-base-utilities +attrs==24.1.0 \ + --hash=sha256:377b47448cb61fea38533f671fba0d0f8a96fd58facd4dc518e3dac9dbea0905 \ + --hash=sha256:adbdec84af72d38be7628e353a09b6a6790d15cd71819f6e9d7b0faa8a125745 # via # cattrs # requests-cache @@ -142,9 +139,9 @@ charset-normalizer==3.3.2 \ --hash=sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519 \ --hash=sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561 # via requests -cli-base-utilities==0.10.1 \ - --hash=sha256:75813e387e8b09a08db985ea27c93a856cd9585b0922a9df26b794cd0280346b \ - --hash=sha256:9fd0cc0f4a6c8ee41fb9ffb2757005397d44f85425ca38851ff8e5976100a479 +cli-base-utilities==0.10.2 \ + --hash=sha256:3281fbea779ddd01f34c5fd0ae4c3df1515ac55066fffa8229affdd109031533 \ + --hash=sha256:75db2264efabaeb8d21011c90527677f9f5cb2fd6649ff9d64497bb04e317a78 # via for_runners_ynh (pyproject.toml) click==8.1.7 \ --hash=sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28 \ @@ -246,9 +243,9 @@ django-debug-toolbar==4.4.6 \ --hash=sha256:36e421cb908c2f0675e07f9f41e3d1d8618dc386392ec82d23bcfcd5d29c7044 \ --hash=sha256:3beb671c9ec44ffb817fad2780667f172bd1c067dbcabad6268ce39a81335f45 # via django-for-runners -django-for-runners==0.18.1 \ - --hash=sha256:42d2cfe9badeae38b697143fd0364f15bd577c5de8f3d20c0a33b4e51f8ce264 \ - --hash=sha256:81c237b2311cbf8b7d98821decbc8432e793f17f3942ec12996817f54406d637 +django-for-runners==0.19.0 \ + --hash=sha256:48f7e48a5758c113828cdb09a499bce7f16f5114be27c6848c2e89968ba8a2e3 \ + --hash=sha256:aa8c7b66590e76b6ac6050f91904a561fada8450bc2a41a2ccf9df2fff9e664a # via for_runners_ynh (pyproject.toml) django-import-export==4.1.1 \ --hash=sha256:16ecc5a9f0df46bde6eb278a3e65ebda0ee1db55656f36440e9fb83f40ab85a3 \ @@ -272,16 +269,10 @@ django-tools==0.54.0 \ # via # django-for-runners # django-yunohost-integration -django-yunohost-integration[ynh]==0.7.1 \ - --hash=sha256:7dde5ce8cb5ff92a6f6bf7366882652b796d0ce62b8839eda5f800a87b104523 \ - --hash=sha256:d6dbddd9fae54e3ce4b0fbc6e8a3c0f19ed145c358b8bb8677baddd30ae6a028 +django-yunohost-integration[ynh]==0.8.0 \ + --hash=sha256:20dfb25795f808770a5e264e7e796315127b732132f559083ed220121094a1b4 \ + --hash=sha256:f295c19537f9a821b64b9b03d9394c7c12924a9e5f0b170973367749b2575531 # via for_runners_ynh (pyproject.toml) -exceptiongroup==1.2.2 \ - --hash=sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b \ - --hash=sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc - # via - # cattrs - # django-for-runners fonttools==4.53.1 \ --hash=sha256:02569e9a810f9d11f4ae82c391ebc6fb5730d95a0657d24d754ed7763fb2d122 \ --hash=sha256:0679a30b59d74b6242909945429dbddb08496935b82f91ea9bf6ad240ec23397 \ @@ -352,10 +343,6 @@ idna==3.7 \ --hash=sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc \ --hash=sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0 # via requests -importlib-resources==6.4.0 \ - --hash=sha256:50d10f043df931902d4194ea07ec57960f66a80449ff867bfe782b4c486ba78c \ - --hash=sha256:cdb2b453b8046ca4e3798eb1d84f3cce1446a0e8e7b5ef4efb600f19fc398145 - # via django-for-runners kiwisolver==1.4.5 \ --hash=sha256:00bd361b903dc4bbf4eb165f24d1acbee754fce22ded24c3d56eec268658a5cf \ --hash=sha256:040c1aebeda72197ef477a906782b5ab0d387642e93bda547336b8957c61022e \ @@ -620,8 +607,6 @@ matplotlib==3.9.1 \ --hash=sha256:2315837485ca6188a4b632c5199900e28d33b481eb083663f6a44cfc8987ded3 \ --hash=sha256:26040c8f5121cd1ad712abffcd4b5222a8aec3a0fe40bc8542c94331deb8780d \ --hash=sha256:3fda72d4d472e2ccd1be0e9ccb6bf0d2eaf635e7f8f51d737ed7e465ac020cb3 \ - --hash=sha256:421851f4f57350bcf0811edd754a708d2275533e84f52f6760b740766c6747a7 \ - --hash=sha256:44a21d922f78ce40435cb35b43dd7d573cf2a30138d5c4b709d19f00e3907fd7 \ --hash=sha256:4db17fea0ae3aceb8e9ac69c7e3051bae0b3d083bfec932240f9bf5d0197a049 \ --hash=sha256:565d572efea2b94f264dd86ef27919515aa6d629252a169b42ce5f570db7f37b \ --hash=sha256:591d3a88903a30a6d23b040c1e44d1afdd0d778758d07110eb7596f811f31842 \ @@ -630,16 +615,13 @@ matplotlib==3.9.1 \ --hash=sha256:82cd5acf8f3ef43f7532c2f230249720f5dc5dd40ecafaf1c60ac8200d46d7eb \ --hash=sha256:83c6a792f1465d174c86d06f3ae85a8fe36e6f5964633ae8106312ec0921fdf5 \ --hash=sha256:84b3ba8429935a444f1fdc80ed930babbe06725bcf09fbeb5c8757a2cd74af04 \ - --hash=sha256:a0c977c5c382f6696caf0bd277ef4f936da7e2aa202ff66cad5f0ac1428ee15b \ --hash=sha256:a973c53ad0668c53e0ed76b27d2eeeae8799836fd0d0caaa4ecc66bf4e6676c0 \ --hash=sha256:ab38a4f3772523179b2f772103d8030215b318fef6360cb40558f585bf3d017f \ --hash=sha256:b3fce58971b465e01b5c538f9d44915640c20ec5ff31346e963c9e1cd66fa812 \ --hash=sha256:b918770bf3e07845408716e5bbda17eadfc3fcbd9307dc67f37d6cf834bb3d98 \ --hash=sha256:d12cb1837cffaac087ad6b44399d5e22b78c729de3cdae4629e252067b705e2b \ - --hash=sha256:dc23f48ab630474264276be156d0d7710ac6c5a09648ccdf49fef9200d8cbe80 \ --hash=sha256:dd2a59ff4b83d33bca3b5ec58203cc65985367812cb8c257f3e101632be86d92 \ - --hash=sha256:de06b19b8db95dd33d0dc17c926c7c9ebed9f572074b6fac4f65068a6814d010 \ - --hash=sha256:f1f2e5d29e9435c97ad4c36fb6668e89aee13d48c75893e25cef064675038ac9 + --hash=sha256:de06b19b8db95dd33d0dc17c926c7c9ebed9f572074b6fac4f65068a6814d010 # via django-for-runners mdurl==0.1.2 \ --hash=sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8 \ @@ -792,21 +774,65 @@ pprintpp==0.4.0 \ --hash=sha256:b6b4dcdd0c0c0d75e4d7b2f21a9e933e5b2ce62b26e1a54537f9651ae5a5c01d \ --hash=sha256:ea826108e2c7f49dc6d66c752973c3fc9749142a798d6b254e1e301cfdbc6403 # via django-tools -psycopg2==2.9.9 \ - --hash=sha256:121081ea2e76729acfb0673ff33755e8703d45e926e416cb59bae3a86c6a4981 \ - --hash=sha256:38a8dcc6856f569068b47de286b472b7c473ac7977243593a288ebce0dc89516 \ - --hash=sha256:426f9f29bde126913a20a96ff8ce7d73fd8a216cfb323b1f04da402d452853c3 \ - --hash=sha256:5e0d98cade4f0e0304d7d6f25bbfbc5bd186e07b38eac65379309c4ca3193efa \ - --hash=sha256:7e2dacf8b009a1c1e843b5213a87f7c544b2b042476ed7755be813eaf4e8347a \ - --hash=sha256:a7653d00b732afb6fc597e29c50ad28087dcb4fbfb28e86092277a559ae4e693 \ - --hash=sha256:ade01303ccf7ae12c356a5e10911c9e1c51136003a9a1d92f7aa9d010fb98372 \ - --hash=sha256:bac58c024c9922c23550af2a581998624d6e02350f4ae9c5f0bc642c633a2d5e \ - --hash=sha256:c92811b2d4c9b6ea0285942b2e7cac98a59e166d59c588fe5cfe1eda58e72d59 \ - --hash=sha256:d1454bde93fb1e224166811694d600e746430c006fbb031ea06ecc2ea41bf156 \ - --hash=sha256:d735786acc7dd25815e89cc4ad529a43af779db2e25aa7c626de864127e5a024 \ - --hash=sha256:de80739447af31525feddeb8effd640782cf5998e1a4e9192ebdf829717e3913 \ - --hash=sha256:ff432630e510709564c01dafdbe996cb552e0b9f3f065eb89bdce5bd31fabf4c +psycopg[binary]==3.2.1 \ + --hash=sha256:dc8da6dc8729dacacda3cc2f17d2c9397a70a66cf0d2b69c91065d60d5f00cb7 \ + --hash=sha256:ece385fb413a37db332f97c49208b36cf030ff02b199d7635ed2fbd378724175 # via django-yunohost-integration +psycopg-binary==3.2.1 \ + --hash=sha256:059cbd4e6da2337e17707178fe49464ed01de867dc86c677b30751755ec1dc51 \ + --hash=sha256:06a7aae34edfe179ddc04da005e083ff6c6b0020000399a2cbf0a7121a8a22ea \ + --hash=sha256:0879b5d76b7d48678d31278242aaf951bc2d69ca4e4d7cef117e4bbf7bfefda9 \ + --hash=sha256:0ab58213cc976a1666f66bc1cb2e602315cd753b7981a8e17237ac2a185bd4a1 \ + --hash=sha256:0b018631e5c80ce9bc210b71ea885932f9cca6db131e4df505653d7e3873a938 \ + --hash=sha256:101472468d59c74bb8565fab603e032803fd533d16be4b2d13da1bab8deb32a3 \ + --hash=sha256:1d353e028b8f848b9784450fc2abf149d53a738d451eab3ee4c85703438128b9 \ + --hash=sha256:1d6833f607f3fc7b22226a9e121235d3b84c0eda1d3caab174673ef698f63788 \ + --hash=sha256:21927f41c4d722ae8eb30d62a6ce732c398eac230509af5ba1749a337f8a63e2 \ + --hash=sha256:28ada5f610468c57d8a4a055a8ea915d0085a43d794266c4f3b9d02f4288f4db \ + --hash=sha256:2e8213bf50af073b1aa8dc3cff123bfeedac86332a16c1b7274910bc88a847c7 \ + --hash=sha256:302b86f92c0d76e99fe1b5c22c492ae519ce8b98b88d37ef74fda4c9e24c6b46 \ + --hash=sha256:334046a937bb086c36e2c6889fe327f9f29bfc085d678f70fac0b0618949f674 \ + --hash=sha256:33e6669091d09f8ba36e10ce678a6d9916e110446236a9b92346464a3565635e \ + --hash=sha256:3c838806eeb99af39f934b7999e35f947a8e577997cc892c12b5053a97a9057f \ + --hash=sha256:40bb515d042f6a345714ec0403df68ccf13f73b05e567837d80c886c7c9d3805 \ + --hash=sha256:413977d18412ff83486eeb5875eb00b185a9391c57febac45b8993bf9c0ff489 \ + --hash=sha256:415c3b72ea32119163255c6504085f374e47ae7345f14bc3f0ef1f6e0976a879 \ + --hash=sha256:42781ba94e8842ee98bca5a7d0c44cc9d067500fedca2d6a90fa3609b6d16b42 \ + --hash=sha256:463d55345f73ff391df8177a185ad57b552915ad33f5cc2b31b930500c068b22 \ + --hash=sha256:4a42b8f9ab39affcd5249b45cac763ac3cf12df962b67e23fd15a2ee2932afe5 \ + --hash=sha256:4c84fcac8a3a3479ac14673095cc4e1fdba2935499f72c436785ac679bec0d1a \ + --hash=sha256:592b27d6c46a40f9eeaaeea7c1fef6f3c60b02c634365eb649b2d880669f149f \ + --hash=sha256:62b1b7b07e00ee490afb39c0a47d8282a9c2822c7cfed9553a04b0058adf7e7f \ + --hash=sha256:6418712ba63cebb0c88c050b3997185b0ef54173b36568522d5634ac06153040 \ + --hash=sha256:6f9e13600647087df5928875559f0eb8f496f53e6278b7da9511b4b3d0aff960 \ + --hash=sha256:7066d3dca196ed0dc6172f9777b2d62e4f138705886be656cccff2d555234d60 \ + --hash=sha256:73f9c9b984be9c322b5ec1515b12df1ee5896029f5e72d46160eb6517438659c \ + --hash=sha256:74d623261655a169bc84a9669890975c229f2fa6e19a7f2d10a77675dcf1a707 \ + --hash=sha256:788ffc43d7517c13e624c83e0e553b7b8823c9655e18296566d36a829bfb373f \ + --hash=sha256:78c2007caf3c90f08685c5378e3ceb142bafd5636be7495f7d86ec8a977eaeef \ + --hash=sha256:7a84b5eb194a258116154b2a4ff2962ea60ea52de089508db23a51d3d6b1c7d1 \ + --hash=sha256:7ce965caf618061817f66c0906f0452aef966c293ae0933d4fa5a16ea6eaf5bb \ + --hash=sha256:84837e99353d16c6980603b362d0f03302d4b06c71672a6651f38df8a482923d \ + --hash=sha256:8f28ff0cb9f1defdc4a6f8c958bf6787274247e7dfeca811f6e2f56602695fb1 \ + --hash=sha256:921f0c7f39590763d64a619de84d1b142587acc70fd11cbb5ba8fa39786f3073 \ + --hash=sha256:950fd666ec9e9fe6a8eeb2b5a8f17301790e518953730ad44d715b59ffdbc67f \ + --hash=sha256:9a997efbaadb5e1a294fb5760e2f5643d7b8e4e3fe6cb6f09e6d605fd28e0291 \ + --hash=sha256:aa3931f308ab4a479d0ee22dc04bea867a6365cac0172e5ddcba359da043854b \ + --hash=sha256:af0469c00f24c4bec18c3d2ede124bf62688d88d1b8a5f3c3edc2f61046fe0d7 \ + --hash=sha256:b0104a72a17aa84b3b7dcab6c84826c595355bf54bb6ea6d284dcb06d99c6801 \ + --hash=sha256:b09e8a576a2ac69d695032ee76f31e03b30781828b5dd6d18c6a009e5a3d1c35 \ + --hash=sha256:b140182830c76c74d17eba27df3755a46442ce8d4fb299e7f1cf2f74a87c877b \ + --hash=sha256:b1f087bd84bdcac78bf9f024ebdbfacd07fc0a23ec8191448a50679e2ac4a19e \ + --hash=sha256:c1d2b6438fb83376f43ebb798bf0ad5e57bc56c03c9c29c85bc15405c8c0ac5a \ + --hash=sha256:cad2de17804c4cfee8640ae2b279d616bb9e4734ac3c17c13db5e40982bd710d \ + --hash=sha256:cc304a46be1e291031148d9d95c12451ffe783ff0cc72f18e2cc7ec43cdb8c68 \ + --hash=sha256:dc314a47d44fe1a8069b075a64abffad347a3a1d8652fed1bab5d3baea37acb2 \ + --hash=sha256:f092114f10f81fb6bae544a0ec027eb720e2d9c74a4fcdaa9dd3899873136935 \ + --hash=sha256:f34e369891f77d0738e5d25727c307d06d5344948771e5379ea29c76c6d84555 \ + --hash=sha256:f8a509aeaac364fa965454e80cd110fe6d48ba2c80f56c9b8563423f0b5c3cfd \ + --hash=sha256:f8afb07114ea9b924a4a0305ceb15354ccf0ef3c0e14d54b8dbeb03e50182dd7 \ + --hash=sha256:f99e59f8a5f4dcd9cbdec445f3d8ac950a492fc0e211032384d6992ed3c17eb7 + # via psycopg pygments==2.18.0 \ --hash=sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199 \ --hash=sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a @@ -945,8 +971,7 @@ typing-extensions==4.12.2 \ --hash=sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d \ --hash=sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8 # via - # asgiref - # cattrs + # psycopg # rich-click url-normalize==1.4.3 \ --hash=sha256:d23d3a070ac52a67b83a1c59a0e68f8608d1cd538783b401bc9de2c0fac999b2 \ diff --git a/for_runners_ynh/__init__.py b/for_runners_ynh/__init__.py index b0d3e81..1e0eacf 100644 --- a/for_runners_ynh/__init__.py +++ b/for_runners_ynh/__init__.py @@ -3,5 +3,5 @@ YunoHost app package for https://github.com/jedie/django-for-runners """ -__version__ = '0.18.1+ynh1' +__version__ = '0.19.0+ynh1' __author__ = 'Jens Diemer ' diff --git a/for_runners_ynh/cli/dev.py b/for_runners_ynh/cli/dev.py index 36ed7a9..035ecb9 100644 --- a/for_runners_ynh/cli/dev.py +++ b/for_runners_ynh/cli/dev.py @@ -17,6 +17,7 @@ from cli_base.cli_tools.version_info import print_version from cli_base.run_pip_audit import run_pip_audit from django.core.management.commands.test import Command as DjangoTestCommand from django_yunohost_integration.local_test import create_local_test +from django_yunohost_integration.path_utils import get_project_root from manageprojects.utilities.publish import publish_package from rich import print from rich.console import Console @@ -25,7 +26,6 @@ from rich_click import RichGroup import for_runners_ynh from for_runners_ynh import constants -from for_runners_ynh.constants import PACKAGE_ROOT from for_runners_ynh.tests import setup_ynh_tests @@ -70,7 +70,7 @@ def cli(): @click.option('-v', '--verbosity', **OPTION_KWARGS_VERBOSE) def mypy(verbosity: int): """Run Mypy (configured in pyproject.toml)""" - verbose_check_call('mypy', '.', cwd=PACKAGE_ROOT, verbose=verbosity > 0, exit_on_error=True) + verbose_check_call('mypy', '.', cwd=get_project_root(), verbose=verbosity > 0, exit_on_error=True) @cli.command() @@ -78,7 +78,7 @@ def install(): """ Run pip-sync and install 'for_runners_ynh' via pip as editable. """ - verbose_check_call('pip-sync', PACKAGE_ROOT / 'requirements.dev.txt') + verbose_check_call('pip-sync', get_project_root() / 'requirements.dev.txt') verbose_check_call('pip', 'install', '--no-deps', '-e', '.') @@ -88,7 +88,7 @@ def pip_audit(verbosity: int): """ Run pip-audit check against current requirements files """ - run_pip_audit(base_path=PACKAGE_ROOT, verbosity=verbosity) + run_pip_audit(base_path=get_project_root(), verbosity=verbosity) @cli.command() @@ -133,7 +133,7 @@ def update(): extra_env=extra_env, ) - run_pip_audit(base_path=PACKAGE_ROOT) + run_pip_audit(base_path=get_project_root()) # Install new dependencies in current .venv: verbose_check_call(bin_path / 'pip-sync', 'requirements.dev.txt') @@ -151,7 +151,7 @@ def publish(): publish_package( module=for_runners_ynh, - package_path=PACKAGE_ROOT, + package_path=get_project_root(), distribution_name='for_runners_ynh', ) @@ -163,7 +163,7 @@ def fix_code_style(color: bool, verbosity: int): """ Fix code style of all your_cool_package source code files via darker """ - code_style.fix(package_root=PACKAGE_ROOT, darker_color=color, darker_verbose=verbosity > 0) + code_style.fix(package_root=get_project_root(), darker_color=color, darker_verbose=verbosity > 0) @cli.command() @@ -173,7 +173,7 @@ def check_code_style(color: bool, verbosity: int): """ Check code style by calling darker + flake8 """ - code_style.check(package_root=PACKAGE_ROOT, darker_color=color, darker_verbose=verbosity > 0) + code_style.check(package_root=get_project_root(), darker_color=color, darker_verbose=verbosity > 0) @cli.command() @@ -181,7 +181,7 @@ def update_test_snapshot_files(): """ Update all test snapshot files (by remove and recreate all snapshot files) """ - with UpdateTestSnapshotFiles(root_path=PACKAGE_ROOT, verbose=True): + with UpdateTestSnapshotFiles(root_path=get_project_root(), verbose=True): # Just recreate them by running tests: _run_django_test_cli(argv=sys.argv, exit_after_run=False) @@ -200,6 +200,7 @@ def _run_django_test_cli(argv, exit_after_run=True): print() test_command = DjangoTestCommand() + test_command.run_from_argv(argv) if exit_after_run: sys.exit(0) @@ -242,8 +243,8 @@ def local_test(): Build a "local_test" YunoHost installation and start the Django dev. server against it. """ create_local_test( - django_settings_path=PACKAGE_ROOT / 'conf' / 'settings.py', - destination=PACKAGE_ROOT / 'local_test', + django_settings_path=get_project_root() / 'conf' / 'settings.py', + destination=get_project_root() / 'local_test', runserver=True, extra_replacements={ '__DEBUG_ENABLED__': '1', @@ -256,9 +257,9 @@ def diffsettings(): """ Run "diffsettings" manage command against a "local_test" YunoHost installation. """ - destination = PACKAGE_ROOT / 'local_test' + destination = get_project_root() / 'local_test' create_local_test( - django_settings_path=PACKAGE_ROOT / 'conf' / 'settings.py', + django_settings_path=get_project_root() / 'conf' / 'settings.py', destination=destination, runserver=False, extra_replacements={ diff --git a/for_runners_ynh/constants.py b/for_runners_ynh/constants.py index ecbdc8d..ca3bdc0 100644 --- a/for_runners_ynh/constants.py +++ b/for_runners_ynh/constants.py @@ -1,11 +1,3 @@ -from pathlib import Path - -import for_runners_ynh -from bx_py_utils.path import assert_is_file - - -PACKAGE_ROOT = Path(for_runners_ynh.__file__).parent.parent -assert_is_file(PACKAGE_ROOT / 'pyproject.toml') CLI_EPILOG = 'Project Homepage: https://github.com/YunoHost-Apps/django-for-runners_ynh' diff --git a/for_runners_ynh/tests/__init__.py b/for_runners_ynh/tests/__init__.py index 183f0eb..b6ce1ba 100644 --- a/for_runners_ynh/tests/__init__.py +++ b/for_runners_ynh/tests/__init__.py @@ -4,13 +4,13 @@ import unittest.util from pathlib import Path import django -import for_runners_ynh from bx_py_utils.test_utils.deny_requests import deny_any_real_request from cli_base.cli_tools.verbosity import MAX_LOG_LEVEL, setup_logging -from for_runners_ynh.constants import PACKAGE_ROOT from django_yunohost_integration.local_test import CreateResults, create_local_test from rich import print # noqa +from tests.test_project_setup import get_project_root + def pre_configure_tests() -> None: print(f'Configure unittests via "load_tests Protocol" from {Path(__file__).relative_to(Path.cwd())}') @@ -32,8 +32,8 @@ def setup_ynh_tests() -> None: print('Compile YunoHost files...') result: CreateResults = create_local_test( - django_settings_path=PACKAGE_ROOT / 'conf' / 'settings.py', - destination=PACKAGE_ROOT / 'local_test', + django_settings_path=get_project_root() / 'conf' / 'settings.py', + destination=get_project_root() / 'local_test', runserver=False, extra_replacements={ '__DEBUG_ENABLED__': '0', # "1" or "0" string diff --git a/for_runners_ynh/tests/test_project_setup.py b/for_runners_ynh/tests/test_project_setup.py index 0158f63..3edc56c 100644 --- a/for_runners_ynh/tests/test_project_setup.py +++ b/for_runners_ynh/tests/test_project_setup.py @@ -1,12 +1,10 @@ -from for_runners_ynh.cli.dev import PACKAGE_ROOT - - import tomllib from bx_django_utils.filename import clean_filename from bx_py_utils.path import assert_is_dir, assert_is_file from django.test.testcases import TestCase from django_tools.unittest_utils.project_setup import check_editor_config +from django_yunohost_integration.path_utils import get_project_root from for_runners import __version__ as upstream_version from for_runners_ynh import __version__ as ynh_pkg_version @@ -25,7 +23,7 @@ class ProjectSetupTestCase(TestCase): def setUpClass(cls): super().setUpClass() - manifest_path = PACKAGE_ROOT / 'manifest.toml' + manifest_path = get_project_root() / 'manifest.toml' assert_is_file(manifest_path) cls.manifest_cfg = tomllib.loads(manifest_path.read_text(encoding='UTF-8')) @@ -45,7 +43,7 @@ class ProjectSetupTestCase(TestCase): """ https://forum.yunohost.org/t/yunohost-bot-cant-handle-spaces-in-screenshots/19483 """ - screenshot_path = PACKAGE_ROOT / 'doc' / 'screenshots' + screenshot_path = get_project_root() / 'doc' / 'screenshots' assert_is_dir(screenshot_path) renamed = [] for file_path in screenshot_path.iterdir(): @@ -60,7 +58,7 @@ class ProjectSetupTestCase(TestCase): assert not renamed, f'Bad screenshots file names found: {", ".join(renamed)}' def test_check_editor_config(self): - check_editor_config(package_root=PACKAGE_ROOT) + check_editor_config(package_root=get_project_root()) def test_manifest_toml(self): self.assertEqual(self.manifest_cfg['packaging_format'], 2) diff --git a/for_runners_ynh/tests/test_readme.py b/for_runners_ynh/tests/test_readme.py index 35b80d6..407cceb 100644 --- a/for_runners_ynh/tests/test_readme.py +++ b/for_runners_ynh/tests/test_readme.py @@ -1,11 +1,13 @@ from pathlib import Path from bx_py_utils.auto_doc import assert_readme_block -from for_runners_ynh.cli.dev import PACKAGE_ROOT, cli -from for_runners_ynh.constants import CLI_EPILOG +from django_yunohost_integration.path_utils import get_project_root from manageprojects.test_utils.click_cli_utils import invoke_click from manageprojects.tests.base import BaseTestCase +from for_runners_ynh.cli.dev import cli +from for_runners_ynh.constants import CLI_EPILOG + def assert_cli_help_in_readme(text_block: str, marker: str, readme_path: Path): text_block = text_block.replace(CLI_EPILOG, '') @@ -32,5 +34,5 @@ class ReadmeTestCase(BaseTestCase): assert_cli_help_in_readme( text_block=stdout, marker='help', - readme_path=PACKAGE_ROOT / 'doc' / 'ADMIN.md', + readme_path=get_project_root() / 'doc' / 'ADMIN.md', ) diff --git a/manifest.toml b/manifest.toml index 07de38a..7c12aec 100644 --- a/manifest.toml +++ b/manifest.toml @@ -5,7 +5,7 @@ id = "django-for-runners" name = "django-for-runners" description.en = "YunoHost app package for https://github.com/jedie/django-for-runners" -version = "0.18.1~ynh1" +version = "0.19.0~ynh1" maintainers = ["Jens Diemer"] diff --git a/pyproject.toml b/pyproject.toml index a744e9e..f9cba38 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,17 +9,13 @@ authors = [ ] requires-python = ">=3.11" dependencies = [ - "django_for_runners>=0.18.1", # https://github.com/jedie/django-for-runners + "django_for_runners>=0.19.0", # https://github.com/jedie/django-for-runners # # 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[ynh]", # https://github.com/YunoHost-Apps/django_yunohost_integration + "django_yunohost_integration[ynh]>=0.8.0", # https://github.com/YunoHost-Apps/django_yunohost_integration # "cli-base-utilities", # https://github.com/jedie/cli-base-utilities - # - # indirect depencies, added because we didn't create the requirements.txt with Python <3.11 - # See: https://github.com/jazzband/pip-tools/issues/1326 - "async-timeout", # needed by redis for python<=3.11.2 ] [project.optional-dependencies] dev = [ @@ -83,14 +79,12 @@ src = ['.'] # YunoHost apps still use "master" istead of "main", isn't it? revision = "origin/master..." line_length = 119 -verbose = true color = true skip_string_normalization = true diff = false check = false stdout = false isort = true -flynt = true lint = [ "flake8", ] diff --git a/requirements.dev.txt b/requirements.dev.txt index 3b5ecd8..a2ad777 100644 --- a/requirements.dev.txt +++ b/requirements.dev.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.10 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # ./dev-cli.py update @@ -21,13 +21,10 @@ astor==0.8.1 \ async-timeout==4.0.3 \ --hash=sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f \ --hash=sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028 - # via - # cli-base-utilities - # for_runners_ynh (pyproject.toml) - # redis -attrs==23.2.0 \ - --hash=sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30 \ - --hash=sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1 + # via cli-base-utilities +attrs==24.1.0 \ + --hash=sha256:377b47448cb61fea38533f671fba0d0f8a96fd58facd4dc518e3dac9dbea0905 \ + --hash=sha256:adbdec84af72d38be7628e353a09b6a6790d15cd71819f6e9d7b0faa8a125745 # via # cattrs # flake8-bugbear @@ -45,10 +42,6 @@ autopep8==2.3.1 \ autotask==0.5.4 \ --hash=sha256:d21578ab14adafb0d9be3490a444d261fd2bcdcbb1ee941b28d4b5e5d1a386ad # via django-for-runners -backports-tarfile==1.2.0 \ - --hash=sha256:77e284d754527b01fb1e6fa8a1afe577858ebe4e9dad8919e34c862cb399bc34 \ - --hash=sha256:d75e02c268746e1b8144c278978b6e98e85de6ad16f8e4b0844a154557eca991 - # via jaraco-context beautifulsoup4==4.12.3 \ --hash=sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051 \ --hash=sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed @@ -277,9 +270,9 @@ charset-normalizer==3.3.2 \ --hash=sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519 \ --hash=sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561 # via requests -cli-base-utilities==0.10.1 \ - --hash=sha256:75813e387e8b09a08db985ea27c93a856cd9585b0922a9df26b794cd0280346b \ - --hash=sha256:9fd0cc0f4a6c8ee41fb9ffb2757005397d44f85425ca38851ff8e5976100a479 +cli-base-utilities==0.10.2 \ + --hash=sha256:3281fbea779ddd01f34c5fd0ae4c3df1515ac55066fffa8229affdd109031533 \ + --hash=sha256:75db2264efabaeb8d21011c90527677f9f5cb2fd6649ff9d64497bb04e317a78 # via # for_runners_ynh (pyproject.toml) # manageprojects @@ -508,9 +501,9 @@ django-debug-toolbar==4.4.6 \ --hash=sha256:36e421cb908c2f0675e07f9f41e3d1d8618dc386392ec82d23bcfcd5d29c7044 \ --hash=sha256:3beb671c9ec44ffb817fad2780667f172bd1c067dbcabad6268ce39a81335f45 # via django-for-runners -django-for-runners==0.18.1 \ - --hash=sha256:42d2cfe9badeae38b697143fd0364f15bd577c5de8f3d20c0a33b4e51f8ce264 \ - --hash=sha256:81c237b2311cbf8b7d98821decbc8432e793f17f3942ec12996817f54406d637 +django-for-runners==0.19.0 \ + --hash=sha256:48f7e48a5758c113828cdb09a499bce7f16f5114be27c6848c2e89968ba8a2e3 \ + --hash=sha256:aa8c7b66590e76b6ac6050f91904a561fada8450bc2a41a2ccf9df2fff9e664a # via for_runners_ynh (pyproject.toml) django-import-export==4.1.1 \ --hash=sha256:16ecc5a9f0df46bde6eb278a3e65ebda0ee1db55656f36440e9fb83f40ab85a3 \ @@ -534,9 +527,9 @@ django-tools==0.54.0 \ # via # django-for-runners # django-yunohost-integration -django-yunohost-integration[ynh]==0.7.1 \ - --hash=sha256:7dde5ce8cb5ff92a6f6bf7366882652b796d0ce62b8839eda5f800a87b104523 \ - --hash=sha256:d6dbddd9fae54e3ce4b0fbc6e8a3c0f19ed145c358b8bb8677baddd30ae6a028 +django-yunohost-integration[ynh]==0.8.0 \ + --hash=sha256:20dfb25795f808770a5e264e7e796315127b732132f559083ed220121094a1b4 \ + --hash=sha256:f295c19537f9a821b64b9b03d9394c7c12924a9e5f0b170973367749b2575531 # via for_runners_ynh (pyproject.toml) docutils==0.21.2 \ --hash=sha256:3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f \ @@ -547,12 +540,6 @@ editorconfig==0.12.4 \ # via # for_runners_ynh (pyproject.toml) # manageprojects -exceptiongroup==1.2.2 \ - --hash=sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b \ - --hash=sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc - # via - # cattrs - # django-for-runners filelock==3.15.4 \ --hash=sha256:2207938cbc1844345cb01a5a95524dae30f0ce089eba5b00378295a17e3e90cb \ --hash=sha256:6ca1fffae96225dab4c6eaf1c4f4f28cd2568d3ec2a44e15a08520504de468e7 @@ -656,13 +643,7 @@ idna==3.7 \ importlib-metadata==8.2.0 \ --hash=sha256:11901fa0c2f97919b288679932bb64febaeacf289d18ac84dd68cb2e74213369 \ --hash=sha256:72e8d4399996132204f9a16dcc751af254a48f8d1b20b9ff0f98d4a8f901e73d - # via - # keyring - # twine -importlib-resources==6.4.0 \ - --hash=sha256:50d10f043df931902d4194ea07ec57960f66a80449ff867bfe782b4c486ba78c \ - --hash=sha256:cdb2b453b8046ca4e3798eb1d84f3cce1446a0e8e7b5ef4efb600f19fc398145 - # via django-for-runners + # via twine isort==5.13.2 \ --hash=sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109 \ --hash=sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6 @@ -689,9 +670,9 @@ jinja2==3.1.4 \ --hash=sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369 \ --hash=sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d # via cookiecutter -keyring==25.2.1 \ - --hash=sha256:2458681cdefc0dbc0b7eb6cf75d0b98e59f9ad9b2d4edd319d18f68bdca95e50 \ - --hash=sha256:daaffd42dbda25ddafb1ad5fec4024e5bbcfe424597ca1ca452b299861e49f1b +keyring==25.3.0 \ + --hash=sha256:8d85a1ea5d6db8515b59e1c5d1d1678b03cf7fc8b8dcfb1651e8c4a524eb42ef \ + --hash=sha256:8d963da00ccdf06e356acd9bf3b743208878751032d8599c6cc89eb51310ffae # via twine kiwisolver==1.4.5 \ --hash=sha256:00bd361b903dc4bbf4eb165f24d1acbee754fce22ded24c3d56eec268658a5cf \ @@ -1027,8 +1008,6 @@ matplotlib==3.9.1 \ --hash=sha256:2315837485ca6188a4b632c5199900e28d33b481eb083663f6a44cfc8987ded3 \ --hash=sha256:26040c8f5121cd1ad712abffcd4b5222a8aec3a0fe40bc8542c94331deb8780d \ --hash=sha256:3fda72d4d472e2ccd1be0e9ccb6bf0d2eaf635e7f8f51d737ed7e465ac020cb3 \ - --hash=sha256:421851f4f57350bcf0811edd754a708d2275533e84f52f6760b740766c6747a7 \ - --hash=sha256:44a21d922f78ce40435cb35b43dd7d573cf2a30138d5c4b709d19f00e3907fd7 \ --hash=sha256:4db17fea0ae3aceb8e9ac69c7e3051bae0b3d083bfec932240f9bf5d0197a049 \ --hash=sha256:565d572efea2b94f264dd86ef27919515aa6d629252a169b42ce5f570db7f37b \ --hash=sha256:591d3a88903a30a6d23b040c1e44d1afdd0d778758d07110eb7596f811f31842 \ @@ -1037,16 +1016,13 @@ matplotlib==3.9.1 \ --hash=sha256:82cd5acf8f3ef43f7532c2f230249720f5dc5dd40ecafaf1c60ac8200d46d7eb \ --hash=sha256:83c6a792f1465d174c86d06f3ae85a8fe36e6f5964633ae8106312ec0921fdf5 \ --hash=sha256:84b3ba8429935a444f1fdc80ed930babbe06725bcf09fbeb5c8757a2cd74af04 \ - --hash=sha256:a0c977c5c382f6696caf0bd277ef4f936da7e2aa202ff66cad5f0ac1428ee15b \ --hash=sha256:a973c53ad0668c53e0ed76b27d2eeeae8799836fd0d0caaa4ecc66bf4e6676c0 \ --hash=sha256:ab38a4f3772523179b2f772103d8030215b318fef6360cb40558f585bf3d017f \ --hash=sha256:b3fce58971b465e01b5c538f9d44915640c20ec5ff31346e963c9e1cd66fa812 \ --hash=sha256:b918770bf3e07845408716e5bbda17eadfc3fcbd9307dc67f37d6cf834bb3d98 \ --hash=sha256:d12cb1837cffaac087ad6b44399d5e22b78c729de3cdae4629e252067b705e2b \ - --hash=sha256:dc23f48ab630474264276be156d0d7710ac6c5a09648ccdf49fef9200d8cbe80 \ --hash=sha256:dd2a59ff4b83d33bca3b5ec58203cc65985367812cb8c257f3e101632be86d92 \ - --hash=sha256:de06b19b8db95dd33d0dc17c926c7c9ebed9f572074b6fac4f65068a6814d010 \ - --hash=sha256:f1f2e5d29e9435c97ad4c36fb6668e89aee13d48c75893e25cef064675038ac9 + --hash=sha256:de06b19b8db95dd33d0dc17c926c7c9ebed9f572074b6fac4f65068a6814d010 # via django-for-runners mccabe==0.7.0 \ --hash=sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325 \ @@ -1364,21 +1340,65 @@ pprintpp==0.4.0 \ --hash=sha256:b6b4dcdd0c0c0d75e4d7b2f21a9e933e5b2ce62b26e1a54537f9651ae5a5c01d \ --hash=sha256:ea826108e2c7f49dc6d66c752973c3fc9749142a798d6b254e1e301cfdbc6403 # via django-tools -psycopg2==2.9.9 \ - --hash=sha256:121081ea2e76729acfb0673ff33755e8703d45e926e416cb59bae3a86c6a4981 \ - --hash=sha256:38a8dcc6856f569068b47de286b472b7c473ac7977243593a288ebce0dc89516 \ - --hash=sha256:426f9f29bde126913a20a96ff8ce7d73fd8a216cfb323b1f04da402d452853c3 \ - --hash=sha256:5e0d98cade4f0e0304d7d6f25bbfbc5bd186e07b38eac65379309c4ca3193efa \ - --hash=sha256:7e2dacf8b009a1c1e843b5213a87f7c544b2b042476ed7755be813eaf4e8347a \ - --hash=sha256:a7653d00b732afb6fc597e29c50ad28087dcb4fbfb28e86092277a559ae4e693 \ - --hash=sha256:ade01303ccf7ae12c356a5e10911c9e1c51136003a9a1d92f7aa9d010fb98372 \ - --hash=sha256:bac58c024c9922c23550af2a581998624d6e02350f4ae9c5f0bc642c633a2d5e \ - --hash=sha256:c92811b2d4c9b6ea0285942b2e7cac98a59e166d59c588fe5cfe1eda58e72d59 \ - --hash=sha256:d1454bde93fb1e224166811694d600e746430c006fbb031ea06ecc2ea41bf156 \ - --hash=sha256:d735786acc7dd25815e89cc4ad529a43af779db2e25aa7c626de864127e5a024 \ - --hash=sha256:de80739447af31525feddeb8effd640782cf5998e1a4e9192ebdf829717e3913 \ - --hash=sha256:ff432630e510709564c01dafdbe996cb552e0b9f3f065eb89bdce5bd31fabf4c +psycopg[binary]==3.2.1 \ + --hash=sha256:dc8da6dc8729dacacda3cc2f17d2c9397a70a66cf0d2b69c91065d60d5f00cb7 \ + --hash=sha256:ece385fb413a37db332f97c49208b36cf030ff02b199d7635ed2fbd378724175 # via django-yunohost-integration +psycopg-binary==3.2.1 \ + --hash=sha256:059cbd4e6da2337e17707178fe49464ed01de867dc86c677b30751755ec1dc51 \ + --hash=sha256:06a7aae34edfe179ddc04da005e083ff6c6b0020000399a2cbf0a7121a8a22ea \ + --hash=sha256:0879b5d76b7d48678d31278242aaf951bc2d69ca4e4d7cef117e4bbf7bfefda9 \ + --hash=sha256:0ab58213cc976a1666f66bc1cb2e602315cd753b7981a8e17237ac2a185bd4a1 \ + --hash=sha256:0b018631e5c80ce9bc210b71ea885932f9cca6db131e4df505653d7e3873a938 \ + --hash=sha256:101472468d59c74bb8565fab603e032803fd533d16be4b2d13da1bab8deb32a3 \ + --hash=sha256:1d353e028b8f848b9784450fc2abf149d53a738d451eab3ee4c85703438128b9 \ + --hash=sha256:1d6833f607f3fc7b22226a9e121235d3b84c0eda1d3caab174673ef698f63788 \ + --hash=sha256:21927f41c4d722ae8eb30d62a6ce732c398eac230509af5ba1749a337f8a63e2 \ + --hash=sha256:28ada5f610468c57d8a4a055a8ea915d0085a43d794266c4f3b9d02f4288f4db \ + --hash=sha256:2e8213bf50af073b1aa8dc3cff123bfeedac86332a16c1b7274910bc88a847c7 \ + --hash=sha256:302b86f92c0d76e99fe1b5c22c492ae519ce8b98b88d37ef74fda4c9e24c6b46 \ + --hash=sha256:334046a937bb086c36e2c6889fe327f9f29bfc085d678f70fac0b0618949f674 \ + --hash=sha256:33e6669091d09f8ba36e10ce678a6d9916e110446236a9b92346464a3565635e \ + --hash=sha256:3c838806eeb99af39f934b7999e35f947a8e577997cc892c12b5053a97a9057f \ + --hash=sha256:40bb515d042f6a345714ec0403df68ccf13f73b05e567837d80c886c7c9d3805 \ + --hash=sha256:413977d18412ff83486eeb5875eb00b185a9391c57febac45b8993bf9c0ff489 \ + --hash=sha256:415c3b72ea32119163255c6504085f374e47ae7345f14bc3f0ef1f6e0976a879 \ + --hash=sha256:42781ba94e8842ee98bca5a7d0c44cc9d067500fedca2d6a90fa3609b6d16b42 \ + --hash=sha256:463d55345f73ff391df8177a185ad57b552915ad33f5cc2b31b930500c068b22 \ + --hash=sha256:4a42b8f9ab39affcd5249b45cac763ac3cf12df962b67e23fd15a2ee2932afe5 \ + --hash=sha256:4c84fcac8a3a3479ac14673095cc4e1fdba2935499f72c436785ac679bec0d1a \ + --hash=sha256:592b27d6c46a40f9eeaaeea7c1fef6f3c60b02c634365eb649b2d880669f149f \ + --hash=sha256:62b1b7b07e00ee490afb39c0a47d8282a9c2822c7cfed9553a04b0058adf7e7f \ + --hash=sha256:6418712ba63cebb0c88c050b3997185b0ef54173b36568522d5634ac06153040 \ + --hash=sha256:6f9e13600647087df5928875559f0eb8f496f53e6278b7da9511b4b3d0aff960 \ + --hash=sha256:7066d3dca196ed0dc6172f9777b2d62e4f138705886be656cccff2d555234d60 \ + --hash=sha256:73f9c9b984be9c322b5ec1515b12df1ee5896029f5e72d46160eb6517438659c \ + --hash=sha256:74d623261655a169bc84a9669890975c229f2fa6e19a7f2d10a77675dcf1a707 \ + --hash=sha256:788ffc43d7517c13e624c83e0e553b7b8823c9655e18296566d36a829bfb373f \ + --hash=sha256:78c2007caf3c90f08685c5378e3ceb142bafd5636be7495f7d86ec8a977eaeef \ + --hash=sha256:7a84b5eb194a258116154b2a4ff2962ea60ea52de089508db23a51d3d6b1c7d1 \ + --hash=sha256:7ce965caf618061817f66c0906f0452aef966c293ae0933d4fa5a16ea6eaf5bb \ + --hash=sha256:84837e99353d16c6980603b362d0f03302d4b06c71672a6651f38df8a482923d \ + --hash=sha256:8f28ff0cb9f1defdc4a6f8c958bf6787274247e7dfeca811f6e2f56602695fb1 \ + --hash=sha256:921f0c7f39590763d64a619de84d1b142587acc70fd11cbb5ba8fa39786f3073 \ + --hash=sha256:950fd666ec9e9fe6a8eeb2b5a8f17301790e518953730ad44d715b59ffdbc67f \ + --hash=sha256:9a997efbaadb5e1a294fb5760e2f5643d7b8e4e3fe6cb6f09e6d605fd28e0291 \ + --hash=sha256:aa3931f308ab4a479d0ee22dc04bea867a6365cac0172e5ddcba359da043854b \ + --hash=sha256:af0469c00f24c4bec18c3d2ede124bf62688d88d1b8a5f3c3edc2f61046fe0d7 \ + --hash=sha256:b0104a72a17aa84b3b7dcab6c84826c595355bf54bb6ea6d284dcb06d99c6801 \ + --hash=sha256:b09e8a576a2ac69d695032ee76f31e03b30781828b5dd6d18c6a009e5a3d1c35 \ + --hash=sha256:b140182830c76c74d17eba27df3755a46442ce8d4fb299e7f1cf2f74a87c877b \ + --hash=sha256:b1f087bd84bdcac78bf9f024ebdbfacd07fc0a23ec8191448a50679e2ac4a19e \ + --hash=sha256:c1d2b6438fb83376f43ebb798bf0ad5e57bc56c03c9c29c85bc15405c8c0ac5a \ + --hash=sha256:cad2de17804c4cfee8640ae2b279d616bb9e4734ac3c17c13db5e40982bd710d \ + --hash=sha256:cc304a46be1e291031148d9d95c12451ffe783ff0cc72f18e2cc7ec43cdb8c68 \ + --hash=sha256:dc314a47d44fe1a8069b075a64abffad347a3a1d8652fed1bab5d3baea37acb2 \ + --hash=sha256:f092114f10f81fb6bae544a0ec027eb720e2d9c74a4fcdaa9dd3899873136935 \ + --hash=sha256:f34e369891f77d0738e5d25727c307d06d5344948771e5379ea29c76c6d84555 \ + --hash=sha256:f8a509aeaac364fa965454e80cd110fe6d48ba2c80f56c9b8563423f0b5c3cfd \ + --hash=sha256:f8afb07114ea9b924a4a0305ceb15354ccf0ef3c0e14d54b8dbeb03e50182dd7 \ + --hash=sha256:f99e59f8a5f4dcd9cbdec445f3d8ac950a492fc0e211032384d6992ed3c17eb7 + # via psycopg py-serializable==1.1.0 \ --hash=sha256:3311ab39063b131caca0fb75e2038153682e55576c67f24a2de72d402dccb6e0 \ --hash=sha256:ae7ae4326b0d037b7e710f6e8bb1a97ece4ac2895a1f443a17ffd17f85547d76 @@ -1613,18 +1633,7 @@ toml==0.10.2 \ tomli==2.0.1 \ --hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \ --hash=sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f - # via - # autoflake - # autopep8 - # black - # build - # cli-base-utilities - # flynt - # for_runners_ynh (pyproject.toml) - # mypy - # pip-tools - # pyproject-api - # tox + # via cli-base-utilities tomlkit==0.13.0 \ --hash=sha256:08ad192699734149f5b97b45f1f18dad7eb1b6d16bc72ad0c2335772650d7b72 \ --hash=sha256:7075d3042d03b80f603482d69bf0c8f345c2b30e41699fd8883227f89972b264 @@ -1647,10 +1656,8 @@ typing-extensions==4.12.2 \ --hash=sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d \ --hash=sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8 # via - # asgiref - # black - # cattrs # mypy + # psycopg # rich-click url-normalize==1.4.3 \ --hash=sha256:d23d3a070ac52a67b83a1c59a0e68f8608d1cd538783b401bc9de2c0fac999b2 \ @@ -1674,9 +1681,9 @@ webencodings==0.5.1 \ # via # bleach # html5lib -wheel==0.43.0 \ - --hash=sha256:465ef92c69fa5c5da2d1cf8ac40559a8c940886afcef87dcf14b9470862f1d85 \ - --hash=sha256:55c570405f142630c6b9f72fe09d9b67cf1477fcf543ae5b8dcb1f5b7377da81 +wheel==0.44.0 \ + --hash=sha256:2376a90c98cc337d18623527a97c31797bd02bad0033d41547043a1cbfbe448f \ + --hash=sha256:a29c3f2817e95ab89aa4660681ad547c0e9547f20e75b0562fe7723c9a2a9d49 # via pip-tools zipp==3.19.2 \ --hash=sha256:bf1dcf6450f873a13e952a29504887c89e6de7506209e5b1bcc3460135d4de19 \ diff --git a/tests/test_django_project_create_unknown_user_1.snapshot.html b/tests/test_django_project_create_unknown_user_1.snapshot.html index c92c2f7..3168351 100644 --- a/tests/test_django_project_create_unknown_user_1.snapshot.html +++ b/tests/test_django_project_create_unknown_user_1.snapshot.html @@ -5,7 +5,7 @@

Logo - Django-ForRunners v0.18.1 + Django-ForRunners v0.19.0

@@ -87,4 +87,4 @@ - + \ No newline at end of file diff --git a/tests/test_project_setup.py b/tests/test_project_setup.py index 4b114f9..85db8ca 100644 --- a/tests/test_project_setup.py +++ b/tests/test_project_setup.py @@ -6,15 +6,13 @@ from unittest import TestCase 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 +from django_yunohost_integration.path_utils import get_project_root from django_yunohost_integration.test_utils import assert_project_version from for_runners import __version__ as upstream_version from for_runners_ynh import __version__ -PACKAGE_ROOT = Path(__file__).parent.parent - - def assert_file_contains_string(file_path, string): with file_path.open('r') as f: for line in f: @@ -32,7 +30,7 @@ def test_version(): manifest_version = __version__.replace('+', '~') assert_file_contains_string( - file_path=Path(PACKAGE_ROOT, 'manifest.toml'), + file_path=Path(get_project_root(), 'manifest.toml'), string=f'version = "{manifest_version}"', ) @@ -48,7 +46,7 @@ def test_screenshot_filenames(): """ https://forum.yunohost.org/t/yunohost-bot-cant-handle-spaces-in-screenshots/19483 """ - screenshot_path = PACKAGE_ROOT / 'doc' / 'screenshots' + screenshot_path = get_project_root() / 'doc' / 'screenshots' assert_is_dir(screenshot_path) renamed = [] for file_path in screenshot_path.iterdir(): @@ -64,12 +62,12 @@ def test_screenshot_filenames(): def test_check_editor_config(): - check_editor_config(package_root=PACKAGE_ROOT) + check_editor_config(package_root=get_project_root()) class ManifestTestCase(TestCase): def test_manifest_toml(self): - manifest_path = PACKAGE_ROOT / 'manifest.toml' + manifest_path = get_project_root() / 'manifest.toml' assert_is_file(manifest_path) cfg = tomllib.loads(manifest_path.read_text(encoding='UTF-8')) From 6d0f07ec6ead1d33294708681c63db53e3ac5800 Mon Sep 17 00:00:00 2001 From: Jens Diemer Date: Sun, 4 Aug 2024 21:06:06 +0200 Subject: [PATCH 4/7] Add a "manage_local_test.py" and tests --- manage_local_test.py | 11 +++++++++++ tests/test_manage_local_test.py | 17 +++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100755 manage_local_test.py create mode 100644 tests/test_manage_local_test.py diff --git a/manage_local_test.py b/manage_local_test.py new file mode 100755 index 0000000..f576b5b --- /dev/null +++ b/manage_local_test.py @@ -0,0 +1,11 @@ +#!.venv/bin/python3 + +""" + Call the "manage.py" from the local test environment. +""" + +from django_yunohost_integration.local_test import run_local_test_manage + + +if __name__ == '__main__': + run_local_test_manage() diff --git a/tests/test_manage_local_test.py b/tests/test_manage_local_test.py new file mode 100644 index 0000000..17d5cd6 --- /dev/null +++ b/tests/test_manage_local_test.py @@ -0,0 +1,17 @@ +import subprocess +from unittest import TestCase + +from bx_py_utils.path import assert_is_file + +from django_yunohost_integration.path_utils import get_project_root + + +class ManageLocalTestTestCase(TestCase): + def test_manage_local_test_check(self): + + manage_local_test_bin = get_project_root() / 'manage_local_test.py' + assert_is_file(manage_local_test_bin) + + output = subprocess.check_output([manage_local_test_bin, 'check'], text=True) + self.assertIn('Setup local YunoHost package', output) + self.assertIn('django-for-runners_ynh/local_test/', output) From 5fbfc415f9b4919780f21e875016b64359b88dae Mon Sep 17 00:00:00 2001 From: Jens Diemer Date: Sun, 4 Aug 2024 21:07:38 +0200 Subject: [PATCH 5/7] fix wrong import --- for_runners_ynh/tests/__init__.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/for_runners_ynh/tests/__init__.py b/for_runners_ynh/tests/__init__.py index b6ce1ba..f0e936c 100644 --- a/for_runners_ynh/tests/__init__.py +++ b/for_runners_ynh/tests/__init__.py @@ -7,10 +7,9 @@ import django from bx_py_utils.test_utils.deny_requests import deny_any_real_request from cli_base.cli_tools.verbosity import MAX_LOG_LEVEL, setup_logging from django_yunohost_integration.local_test import CreateResults, create_local_test +from django_yunohost_integration.path_utils import get_project_root from rich import print # noqa -from tests.test_project_setup import get_project_root - def pre_configure_tests() -> None: print(f'Configure unittests via "load_tests Protocol" from {Path(__file__).relative_to(Path.cwd())}') From 7839f5b4f712fddf40042c9ace936d8515672ddf Mon Sep 17 00:00:00 2001 From: Jens Diemer Date: Sun, 4 Aug 2024 21:12:11 +0200 Subject: [PATCH 6/7] Work-a-round for: https://github.com/jazzband/pip-tools/issues/1326 Add indirect depencies for Python <=3.11 --- pyproject.toml | 4 ++++ requirements.dev.txt | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index f9cba38..6010b87 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -41,6 +41,10 @@ dev = [ # https://github.com/pycqa/isort # https://github.com/pygments/pygments "darker[flynt, isort, color]", + + # indirect depencies for Python <=3.11 + # Work-a-round for: https://github.com/jazzband/pip-tools/issues/1326 + "backports.tarfile", ] [project.urls] diff --git a/requirements.dev.txt b/requirements.dev.txt index a2ad777..4ba5ba3 100644 --- a/requirements.dev.txt +++ b/requirements.dev.txt @@ -42,6 +42,10 @@ autopep8==2.3.1 \ autotask==0.5.4 \ --hash=sha256:d21578ab14adafb0d9be3490a444d261fd2bcdcbb1ee941b28d4b5e5d1a386ad # via django-for-runners +backports-tarfile==1.2.0 \ + --hash=sha256:77e284d754527b01fb1e6fa8a1afe577858ebe4e9dad8919e34c862cb399bc34 \ + --hash=sha256:d75e02c268746e1b8144c278978b6e98e85de6ad16f8e4b0844a154557eca991 + # via for_runners_ynh (pyproject.toml) beautifulsoup4==4.12.3 \ --hash=sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051 \ --hash=sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed From 1c98c25045f90dc54008b127ccdc1d473725d6ea Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Sun, 4 Aug 2024 19:12:23 +0000 Subject: [PATCH 7/7] Auto-update READMEs --- README.md | 2 +- README_es.md | 2 +- README_eu.md | 2 +- README_fr.md | 2 +- README_gl.md | 2 +- README_id.md | 2 +- README_zh_Hans.md | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index d132a50..33bfec4 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ It shall NOT be edited by hand. *[Read this README in other languages.](./ALL_README.md)* -> *This package allows you to install django-for-runners quickly and simply on a YunoHost server.* +> *This package allows you to install django-for-runners quickly and simply on a YunoHost server.* > *If you don't have YunoHost, please consult [the guide](https://yunohost.org/install) to learn how to install it.* ## Overview diff --git a/README_es.md b/README_es.md index 318440c..ef547fa 100644 --- a/README_es.md +++ b/README_es.md @@ -11,7 +11,7 @@ No se debe editar a mano. *[Leer este README en otros idiomas.](./ALL_README.md)* -> *Este paquete le permite instalardjango-for-runners rapidamente y simplement en un servidor YunoHost.* +> *Este paquete le permite instalardjango-for-runners rapidamente y simplement en un servidor YunoHost.* > *Si no tiene YunoHost, visita [the guide](https://yunohost.org/install) para aprender como instalarla.* ## Descripción general diff --git a/README_eu.md b/README_eu.md index 78c0915..cd754e2 100644 --- a/README_eu.md +++ b/README_eu.md @@ -11,7 +11,7 @@ EZ editatu eskuz. *[Irakurri README hau beste hizkuntzatan.](./ALL_README.md)* -> *Pakete honek django-for-runners YunoHost zerbitzari batean azkar eta zailtasunik gabe instalatzea ahalbidetzen dizu.* +> *Pakete honek django-for-runners YunoHost zerbitzari batean azkar eta zailtasunik gabe instalatzea ahalbidetzen dizu.* > *YunoHost ez baduzu, kontsultatu [gida](https://yunohost.org/install) nola instalatu ikasteko.* ## Aurreikuspena diff --git a/README_fr.md b/README_fr.md index 1e181b6..bb479ef 100644 --- a/README_fr.md +++ b/README_fr.md @@ -11,7 +11,7 @@ Il NE doit PAS être modifié à la main. *[Lire le README dans d'autres langues.](./ALL_README.md)* -> *Ce package vous permet d’installer django-for-runners rapidement et simplement sur un serveur YunoHost.* +> *Ce package vous permet d’installer django-for-runners rapidement et simplement sur un serveur YunoHost.* > *Si vous n’avez pas YunoHost, consultez [ce guide](https://yunohost.org/install) pour savoir comment l’installer et en profiter.* ## Vue d’ensemble diff --git a/README_gl.md b/README_gl.md index cae10ee..c975a2f 100644 --- a/README_gl.md +++ b/README_gl.md @@ -11,7 +11,7 @@ NON debe editarse manualmente. *[Le este README en outros idiomas.](./ALL_README.md)* -> *Este paquete permíteche instalar django-for-runners de xeito rápido e doado nun servidor YunoHost.* +> *Este paquete permíteche instalar django-for-runners de xeito rápido e doado nun servidor YunoHost.* > *Se non usas YunoHost, le a [documentación](https://yunohost.org/install) para saber como instalalo.* ## Vista xeral diff --git a/README_id.md b/README_id.md index d7a1b90..9432823 100644 --- a/README_id.md +++ b/README_id.md @@ -11,7 +11,7 @@ Ini TIDAK boleh diedit dengan tangan. *[Baca README ini dengan bahasa yang lain.](./ALL_README.md)* -> *Paket ini memperbolehkan Anda untuk memasang django-for-runners secara cepat dan mudah pada server YunoHost.* +> *Paket ini memperbolehkan Anda untuk memasang django-for-runners secara cepat dan mudah pada server YunoHost.* > *Bila Anda tidak mempunyai YunoHost, silakan berkonsultasi dengan [panduan](https://yunohost.org/install) untuk mempelajari bagaimana untuk memasangnya.* ## Ringkasan diff --git a/README_zh_Hans.md b/README_zh_Hans.md index 806392c..79c977d 100644 --- a/README_zh_Hans.md +++ b/README_zh_Hans.md @@ -11,7 +11,7 @@ *[阅读此 README 的其它语言版本。](./ALL_README.md)* -> *通过此软件包,您可以在 YunoHost 服务器上快速、简单地安装 django-for-runners。* +> *通过此软件包,您可以在 YunoHost 服务器上快速、简单地安装 django-for-runners。* > *如果您还没有 YunoHost,请参阅[指南](https://yunohost.org/install)了解如何安装它。* ## 概况