From: Guillaume Pellerin Date: Mon, 30 Sep 2024 06:56:08 +0000 (+0200) Subject: django 4.2, poetry upate X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=c8c17dd55e95ba97ed7dbbdf4aeb7334a57cebdc;p=teleforma.git django 4.2, poetry upate --- diff --git a/app/local_settings.py.sample b/app/local_settings.py.sample index 1ecfb00c..2eb5accf 100644 --- a/app/local_settings.py.sample +++ b/app/local_settings.py.sample @@ -20,7 +20,7 @@ # along with this program. If not, see . import os -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from datetime import datetime, date DEBUG = True if os.environ.get('DEBUG') == 'True' else False @@ -47,7 +47,7 @@ DEBUG = True if os.environ.get('DEBUG') == 'True' else False # along with this program. If not, see . import os -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from datetime import datetime, date DEBUG = True if os.environ.get('DEBUG') == 'True' else False diff --git a/app/settings.py b/app/settings.py index 4e6991c3..094909ec 100644 --- a/app/settings.py +++ b/app/settings.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Django settings for sandbox project. -from django.utils.encoding import force_text +from django.utils.encoding import force_str import warnings import os import sys @@ -400,7 +400,7 @@ def show_user_as(user): if user.quotas.count() and not professor and not user.is_superuser: return "#"+str(user.id) else: - return force_text(user) + return force_str(user) SESSION_ENGINE = "django.contrib.sessions.backends.cached_db" #SESSION_ENGINE = "django.contrib.sessions.backends.signed_cookies" diff --git a/app/wsgi.sh b/app/wsgi.sh index 4a4d605d..fee6c1c6 100755 --- a/app/wsgi.sh +++ b/app/wsgi.sh @@ -35,7 +35,7 @@ debug_log='/var/log/app/debug.log' # app start if [ "$1" = "--runserver" ]; then - python $manage runserver 0.0.0.0:8000 --noasgi + python $manage runserver 0.0.0.0:8000 else # static files auto update # watchmedo shell-command --patterns="$patterns" --recursive \ diff --git a/poetry.lock b/poetry.lock index f7164874..cd263af1 100644 --- a/poetry.lock +++ b/poetry.lock @@ -331,17 +331,17 @@ pycparser = "*" [[package]] name = "channels" -version = "3.0.4" +version = "3.0.5" description = "Brings async, event-driven capabilities to Django. Django 2.2 and up only." optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "channels-3.0.4-py3-none-any.whl", hash = "sha256:0ff0422b4224d10efac76e451575517f155fe7c97d369b5973b116f22eeaf86c"}, - {file = "channels-3.0.4.tar.gz", hash = "sha256:fdd9a94987a23d8d7ebd97498ed8b8cc83163f37e53fc6c85098aba7a3bb8b75"}, + {file = "channels-3.0.5-py3-none-any.whl", hash = "sha256:3813b8025bf85509769793aca720e6c3b1c5bde1cb253a961252bf0242b60a26"}, + {file = "channels-3.0.5.tar.gz", hash = "sha256:a3dc3339cc033e7c2afe083fb3dedf74fc5009815967e317e080e7bfdc92ea26"}, ] [package.dependencies] -asgiref = ">=3.3.1,<4" +asgiref = ">=3.5.0,<4" daphne = ">=3.0,<4" Django = ">=2.2" @@ -350,13 +350,13 @@ tests = ["async-timeout", "coverage (>=4.5,<5.0)", "pytest", "pytest-asyncio", " [[package]] name = "channels-redis" -version = "3.4.0" +version = "3.4.1" description = "Redis-backed ASGI channel layer implementation" optional = false python-versions = ">=3.7" files = [ - {file = "channels_redis-3.4.0-py3-none-any.whl", hash = "sha256:6e4565b7c11c6bcde5d48556cb83bd043779697ff03811867d2f895aa6170d56"}, - {file = "channels_redis-3.4.0.tar.gz", hash = "sha256:5dffd4cc16174125bd4043fc8fe7462ca7403cf801d59a9fa7410ed101fa6a57"}, + {file = "channels_redis-3.4.1-py3-none-any.whl", hash = "sha256:ba7e2ad170f273c372812dd32aaac102d68d4e508172abb1cfda3160b7333890"}, + {file = "channels_redis-3.4.1.tar.gz", hash = "sha256:78e4a2f2b2a744fe5a87848ec36b5ee49f522c6808cefe6c583663d0d531faa8"}, ] [package.dependencies] @@ -637,19 +637,19 @@ files = [ [[package]] name = "django" -version = "3.2.25" -description = "A high-level Python Web framework that encourages rapid development and clean, pragmatic design." +version = "4.2.16" +description = "A high-level Python web framework that encourages rapid development and clean, pragmatic design." optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "Django-3.2.25-py3-none-any.whl", hash = "sha256:a52ea7fcf280b16f7b739cec38fa6d3f8953a5456986944c3ca97e79882b4e38"}, - {file = "Django-3.2.25.tar.gz", hash = "sha256:7ca38a78654aee72378594d63e51636c04b8e28574f5505dff630895b5472777"}, + {file = "Django-4.2.16-py3-none-any.whl", hash = "sha256:1ddc333a16fc139fd253035a1606bb24261951bbc3a6ca256717fa06cc41a898"}, + {file = "Django-4.2.16.tar.gz", hash = "sha256:6f1616c2786c408ce86ab7e10f792b8f15742f7b7b7460243929cb371e7f1dad"}, ] [package.dependencies] -asgiref = ">=3.3.2,<4" -pytz = "*" -sqlparse = ">=0.2.2" +asgiref = ">=3.6.0,<4" +sqlparse = ">=0.3.1" +tzdata = {version = "*", markers = "sys_platform == \"win32\""} [package.extras] argon2 = ["argon2-cffi (>=19.1.0)"] @@ -657,41 +657,41 @@ bcrypt = ["bcrypt"] [[package]] name = "django-debug-toolbar" -version = "3.2.1" +version = "3.8.1" description = "A configurable set of panels that display various debug information about the current request/response." optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "django-debug-toolbar-3.2.1.tar.gz", hash = "sha256:a5ff2a54f24bf88286f9872836081078f4baa843dc3735ee88524e89f8821e33"}, - {file = "django_debug_toolbar-3.2.1-py3-none-any.whl", hash = "sha256:e759e63e3fe2d3110e0e519639c166816368701eab4a47fed75d7de7018467b9"}, + {file = "django_debug_toolbar-3.8.1-py3-none-any.whl", hash = "sha256:879f8a4672d41621c06a4d322dcffa630fc4df056cada6e417ed01db0e5e0478"}, + {file = "django_debug_toolbar-3.8.1.tar.gz", hash = "sha256:24ef1a7d44d25e60d7951e378454c6509bf536dce7e7d9d36e7c387db499bc27"}, ] [package.dependencies] -Django = ">=2.2" -sqlparse = ">=0.2.0" +django = ">=3.2.4" +sqlparse = ">=0.2" [[package]] name = "django-jazzmin" -version = "2.4.7" +version = "2.6.2" description = "Drop-in theme for django admin, that utilises AdminLTE 3 & Bootstrap 4 to make yo' admin look jazzy" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "django-jazzmin-2.4.7.tar.gz", hash = "sha256:585d0c998875d6ada49ffa7b1bc6c21dcb90a53ba4d0f42f6b0d8fcfc212fa4c"}, - {file = "django_jazzmin-2.4.7-py3-none-any.whl", hash = "sha256:90f3ceee87517aa4183d22eef8ec34067588a37ef02484ac47502865be211148"}, + {file = "django_jazzmin-2.6.2-py3-none-any.whl", hash = "sha256:f7eb509b8a2e92260c2e836dc856fc9ca8888e572094201f9021d7b620bb96b2"}, + {file = "django_jazzmin-2.6.2.tar.gz", hash = "sha256:2bfc33c4e6d59ee647930402d372692ae3514ea45940040eb7f50b481f6ef53b"}, ] [package.dependencies] -django = ">=2" +django = ">=3" [[package]] name = "django-json-rpc" -version = "0.7.1" +version = "0.7.2" description = "A simple JSON-RPC implementation for Django" optional = false python-versions = "*" files = [ - {file = "django-json-rpc-0.7.1.tar.gz", hash = "sha256:08c01ad1dd1c534e852b5304fb371aa4f7f582ff617bc4a800ce349d643f06fe"}, + {file = "django-json-rpc-0.7.2.tar.gz", hash = "sha256:f148adc3adbcf596400a30e0f6123f75706ef912260e1d14dda01252c4495be9"}, ] [package.dependencies] @@ -713,12 +713,13 @@ python-nvd3 = "0.14.2" [[package]] name = "django-postman" -version = "4.2" +version = "4.5" description = "User-to-User messaging system for Django, with gateway to AnonymousUser, moderation and thread management, user & exchange filters, inbox/sent/archives/trash folders, support for apps: auto-complete, notification, mailer." optional = false python-versions = "*" files = [ - {file = "django-postman-4.2.tar.gz", hash = "sha256:bc351c261325eba78ac70f2a8236482d74fca5e2ca5172311cf9a67f32f6fc32"}, + {file = "django_postman-4.5-py3-none-any.whl", hash = "sha256:3d20ea230a39193e5d192590f8cbad0b0d9fedb5a493799388b767c8ee47282b"}, + {file = "django_postman-4.5.tar.gz", hash = "sha256:5b6f3ae9c5ebef5744ad5af88ee8063bf0171f09bcec020ed2457a93386b1b13"}, ] [package.dependencies] @@ -726,16 +727,17 @@ Django = "*" [[package]] name = "django-recaptcha" -version = "2.0.6" +version = "4.0.0" description = "Django recaptcha form field/widget app." optional = false python-versions = "*" files = [ - {file = "django_recaptcha-2.0.6-py2.py3-none-any.whl", hash = "sha256:567784963fd5400feaf92e8951d8dbbbdb4b4c48a76e225d4baa63a2c9d2cd8c"}, + {file = "django-recaptcha-4.0.0.tar.gz", hash = "sha256:5316438f97700c431d65351470d1255047e3f2cd9af0f2f13592b637dad9213e"}, + {file = "django_recaptcha-4.0.0-py3-none-any.whl", hash = "sha256:0d912d5c7c009df4e47accd25029133d47a74342dbd2a8edc2877b6bffa971a3"}, ] [package.dependencies] -django = ">1.11,<4.0" +django = "*" [[package]] name = "django-storages" @@ -763,15 +765,18 @@ sftp = ["paramiko (>=1.15)"] [[package]] name = "django-tinymce" -version = "3.3.0" -description = "A Django application that contains a widget to render a form field as a TinyMCE editor." +version = "3.7.1" +description = "A Django application that contains a widget to render a" optional = false -python-versions = "*" +python-versions = ">=3.8" files = [ - {file = "django-tinymce-3.3.0.tar.gz", hash = "sha256:77cca137e97e92e43e42c98a232df3e66b80c987ad0f03709a4b73435f8e4060"}, - {file = "django_tinymce-3.3.0-py3-none-any.whl", hash = "sha256:3684d6611162cd3566b068cfeaf9309d415f1d415191a1f8a8c9140246774679"}, + {file = "django-tinymce-3.7.1.tar.gz", hash = "sha256:29086daffb337bdd2178413e600693dff846aa4efd557c3924b8c3cba9a37e8c"}, + {file = "django_tinymce-3.7.1-py3-none-any.whl", hash = "sha256:beb4d27cdacd4f8b00c90378f02898cb448e9f01a1a8a65eff4c38ca3c8edbc9"}, ] +[package.dependencies] +django = ">=3.2" + [[package]] name = "django-unique-session" version = "1.0" @@ -800,18 +805,17 @@ user-agents = "*" [[package]] name = "djangorestframework" -version = "3.13.1" +version = "3.15.2" description = "Web APIs for Django, made easy." optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "djangorestframework-3.13.1-py3-none-any.whl", hash = "sha256:24c4bf58ed7e85d1fe4ba250ab2da926d263cd57d64b03e8dcef0ac683f8b1aa"}, - {file = "djangorestframework-3.13.1.tar.gz", hash = "sha256:0c33407ce23acc68eca2a6e46424b008c9c02eceb8cf18581921d0092bc1f2ee"}, + {file = "djangorestframework-3.15.2-py3-none-any.whl", hash = "sha256:2b8871b062ba1aefc2de01f773875441a961fefbf79f5eed1e32b2f096944b20"}, + {file = "djangorestframework-3.15.2.tar.gz", hash = "sha256:36fe88cd2d6c6bec23dca9804bab2ba5517a8bb9d8f47ebc68981b56840107ad"}, ] [package.dependencies] -django = ">=2.2" -pytz = "*" +django = ">=4.2" [[package]] name = "docutils" @@ -1564,26 +1568,24 @@ wcwidth = "*" [[package]] name = "psycopg2" -version = "2.8.6" +version = "2.9.9" description = "psycopg2 - Python-PostgreSQL Database Adapter" optional = false -python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*" +python-versions = ">=3.7" files = [ - {file = "psycopg2-2.8.6-cp27-cp27m-win32.whl", hash = "sha256:068115e13c70dc5982dfc00c5d70437fe37c014c808acce119b5448361c03725"}, - {file = "psycopg2-2.8.6-cp27-cp27m-win_amd64.whl", hash = "sha256:d160744652e81c80627a909a0e808f3c6653a40af435744de037e3172cf277f5"}, - {file = "psycopg2-2.8.6-cp34-cp34m-win32.whl", hash = "sha256:b8cae8b2f022efa1f011cc753adb9cbadfa5a184431d09b273fb49b4167561ad"}, - {file = "psycopg2-2.8.6-cp34-cp34m-win_amd64.whl", hash = "sha256:f22ea9b67aea4f4a1718300908a2fb62b3e4276cf00bd829a97ab5894af42ea3"}, - {file = "psycopg2-2.8.6-cp35-cp35m-win32.whl", hash = "sha256:26e7fd115a6db75267b325de0fba089b911a4a12ebd3d0b5e7acb7028bc46821"}, - {file = "psycopg2-2.8.6-cp35-cp35m-win_amd64.whl", hash = "sha256:00195b5f6832dbf2876b8bf77f12bdce648224c89c880719c745b90515233301"}, - {file = "psycopg2-2.8.6-cp36-cp36m-win32.whl", hash = "sha256:a49833abfdede8985ba3f3ec641f771cca215479f41523e99dace96d5b8cce2a"}, - {file = "psycopg2-2.8.6-cp36-cp36m-win_amd64.whl", hash = "sha256:f974c96fca34ae9e4f49839ba6b78addf0346777b46c4da27a7bf54f48d3057d"}, - {file = "psycopg2-2.8.6-cp37-cp37m-win32.whl", hash = "sha256:6a3d9efb6f36f1fe6aa8dbb5af55e067db802502c55a9defa47c5a1dad41df84"}, - {file = "psycopg2-2.8.6-cp37-cp37m-win_amd64.whl", hash = "sha256:56fee7f818d032f802b8eed81ef0c1232b8b42390df189cab9cfa87573fe52c5"}, - {file = "psycopg2-2.8.6-cp38-cp38-win32.whl", hash = "sha256:ad2fe8a37be669082e61fb001c185ffb58867fdbb3e7a6b0b0d2ffe232353a3e"}, - {file = "psycopg2-2.8.6-cp38-cp38-win_amd64.whl", hash = "sha256:56007a226b8e95aa980ada7abdea6b40b75ce62a433bd27cec7a8178d57f4051"}, - {file = "psycopg2-2.8.6-cp39-cp39-win32.whl", hash = "sha256:2c93d4d16933fea5bbacbe1aaf8fa8c1348740b2e50b3735d1b0bf8154cbf0f3"}, - {file = "psycopg2-2.8.6-cp39-cp39-win_amd64.whl", hash = "sha256:d5062ae50b222da28253059880a871dc87e099c25cb68acf613d9d227413d6f7"}, - {file = "psycopg2-2.8.6.tar.gz", hash = "sha256:fb23f6c71107c37fd667cb4ea363ddeb936b348bbd6449278eb92c189699f543"}, + {file = "psycopg2-2.9.9-cp310-cp310-win32.whl", hash = "sha256:38a8dcc6856f569068b47de286b472b7c473ac7977243593a288ebce0dc89516"}, + {file = "psycopg2-2.9.9-cp310-cp310-win_amd64.whl", hash = "sha256:426f9f29bde126913a20a96ff8ce7d73fd8a216cfb323b1f04da402d452853c3"}, + {file = "psycopg2-2.9.9-cp311-cp311-win32.whl", hash = "sha256:ade01303ccf7ae12c356a5e10911c9e1c51136003a9a1d92f7aa9d010fb98372"}, + {file = "psycopg2-2.9.9-cp311-cp311-win_amd64.whl", hash = "sha256:121081ea2e76729acfb0673ff33755e8703d45e926e416cb59bae3a86c6a4981"}, + {file = "psycopg2-2.9.9-cp312-cp312-win32.whl", hash = "sha256:d735786acc7dd25815e89cc4ad529a43af779db2e25aa7c626de864127e5a024"}, + {file = "psycopg2-2.9.9-cp312-cp312-win_amd64.whl", hash = "sha256:a7653d00b732afb6fc597e29c50ad28087dcb4fbfb28e86092277a559ae4e693"}, + {file = "psycopg2-2.9.9-cp37-cp37m-win32.whl", hash = "sha256:5e0d98cade4f0e0304d7d6f25bbfbc5bd186e07b38eac65379309c4ca3193efa"}, + {file = "psycopg2-2.9.9-cp37-cp37m-win_amd64.whl", hash = "sha256:7e2dacf8b009a1c1e843b5213a87f7c544b2b042476ed7755be813eaf4e8347a"}, + {file = "psycopg2-2.9.9-cp38-cp38-win32.whl", hash = "sha256:ff432630e510709564c01dafdbe996cb552e0b9f3f065eb89bdce5bd31fabf4c"}, + {file = "psycopg2-2.9.9-cp38-cp38-win_amd64.whl", hash = "sha256:bac58c024c9922c23550af2a581998624d6e02350f4ae9c5f0bc642c633a2d5e"}, + {file = "psycopg2-2.9.9-cp39-cp39-win32.whl", hash = "sha256:c92811b2d4c9b6ea0285942b2e7cac98a59e166d59c588fe5cfe1eda58e72d59"}, + {file = "psycopg2-2.9.9-cp39-cp39-win_amd64.whl", hash = "sha256:de80739447af31525feddeb8effd640782cf5998e1a4e9192ebdf829717e3913"}, + {file = "psycopg2-2.9.9.tar.gz", hash = "sha256:d1454bde93fb1e224166811694d600e746430c006fbb031ea06ecc2ea41bf156"}, ] [[package]] @@ -1663,13 +1665,13 @@ windows-terminal = ["colorama (>=0.4.6)"] [[package]] name = "pymemcache" -version = "3.4.4" +version = "3.5.2" description = "A comprehensive, fast, pure Python memcached client" optional = false python-versions = "*" files = [ - {file = "pymemcache-3.4.4-py2.py3-none-any.whl", hash = "sha256:f0ad9d37e11ae227c000ec54a6dd90e7d24ad34d6c628482b16335001840fccd"}, - {file = "pymemcache-3.4.4.tar.gz", hash = "sha256:8185a099a4823789560cb051d98daa51e2e4d4aa9fc6027c86766892408d984e"}, + {file = "pymemcache-3.5.2-py2.py3-none-any.whl", hash = "sha256:3fca0215845d7b2ecd5f4c627fcf4ce2345a703a897b7e116380115b5a197be2"}, + {file = "pymemcache-3.5.2.tar.gz", hash = "sha256:8923ab59840f0d5338f1c52dba229fa835545b91c3c2f691c118e678d0fb974e"}, ] [package.dependencies] @@ -1695,13 +1697,13 @@ test = ["pretend", "pytest (>=3.0.1)", "pytest-rerunfailures"] [[package]] name = "pypdf" -version = "4.2.0" +version = "4.3.1" description = "A pure-python PDF library capable of splitting, merging, cropping, and transforming PDF files" optional = false python-versions = ">=3.6" files = [ - {file = "pypdf-4.2.0-py3-none-any.whl", hash = "sha256:dc035581664e0ad717e3492acebc1a5fc23dba759e788e3d4a9fc9b1a32e72c1"}, - {file = "pypdf-4.2.0.tar.gz", hash = "sha256:fe63f3f7d1dcda1c9374421a94c1bba6c6f8c4a62173a59b64ffd52058f846b1"}, + {file = "pypdf-4.3.1-py3-none-any.whl", hash = "sha256:64b31da97eda0771ef22edb1bfecd5deee4b72c3d1736b7df2689805076d6418"}, + {file = "pypdf-4.3.1.tar.gz", hash = "sha256:b2f37fe9a3030aa97ca86067a56ba3f9d3565f9a791b305c7355d8392c30d91b"}, ] [package.dependencies] @@ -1784,17 +1786,6 @@ files = [ [package.dependencies] Unidecode = ">=0.04.16" -[[package]] -name = "pytz" -version = "2024.2" -description = "World timezone definitions, modern and historical" -optional = false -python-versions = "*" -files = [ - {file = "pytz-2024.2-py2.py3-none-any.whl", hash = "sha256:31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725"}, - {file = "pytz-2024.2.tar.gz", hash = "sha256:2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a"}, -] - [[package]] name = "pyyaml" version = "6.0.2" @@ -2014,15 +2005,20 @@ files = [ [[package]] name = "sorl-thumbnail" -version = "12.10.0" +version = "12.11.0" description = "Thumbnails for Django" optional = false python-versions = ">=3.8" files = [ - {file = "sorl-thumbnail-12.10.0.tar.gz", hash = "sha256:de95a49217fdfeced222fa3ceaa01d312ee2f8aad56ba34d6c70f2dee9a84938"}, - {file = "sorl_thumbnail-12.10.0-py3-none-any.whl", hash = "sha256:733eb2eee392d4a874f88fb3ed6f0572fa9c361b06e0411b83e435ba69c51f52"}, + {file = "sorl_thumbnail-12.11.0-py3-none-any.whl", hash = "sha256:e3e375013ca3f14bca9f98fe9861153adac3a6ea4af5e9dc3f31cb605df765b5"}, + {file = "sorl_thumbnail-12.11.0.tar.gz", hash = "sha256:191b89c27ecb40b5c2a35549d557d17c4841c6aff439b2e17b938b91eea463b3"}, ] +[package.extras] +pgmagick = ["pgmagick"] +pil = ["pillow"] +wand = ["wand"] + [[package]] name = "sqlparse" version = "0.5.1" @@ -2166,6 +2162,17 @@ files = [ {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, ] +[[package]] +name = "tzdata" +version = "2024.2" +description = "Provider of IANA time zone data" +optional = false +python-versions = ">=2" +files = [ + {file = "tzdata-2024.2-py2.py3-none-any.whl", hash = "sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd"}, + {file = "tzdata-2024.2.tar.gz", hash = "sha256:7d85cc416e9382e69095b7bdf4afd9e3880418a2413feec7069d533d6b4e31cc"}, +] + [[package]] name = "ua-parser" version = "0.18.0" @@ -2179,13 +2186,13 @@ files = [ [[package]] name = "unidecode" -version = "1.2.0" +version = "1.3.8" description = "ASCII transliterations of Unicode text" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +python-versions = ">=3.5" files = [ - {file = "Unidecode-1.2.0-py2.py3-none-any.whl", hash = "sha256:12435ef2fc4cdfd9cf1035a1db7e98b6b047fe591892e81f34e94959591fad00"}, - {file = "Unidecode-1.2.0.tar.gz", hash = "sha256:8d73a97d387a956922344f6b74243c2c6771594659778744b2dbdaad8f6b727d"}, + {file = "Unidecode-1.3.8-py3-none-any.whl", hash = "sha256:d130a61ce6696f8148a3bd8fe779c99adeb4b870584eeb9526584e9aa091fd39"}, + {file = "Unidecode-1.3.8.tar.gz", hash = "sha256:cfdb349d46ed3873ece4586b96aa75258726e2fa8ec21d6f00a591d98806c2f4"}, ] [[package]] @@ -2221,13 +2228,13 @@ ua-parser = ">=0.10.0" [[package]] name = "uvicorn" -version = "0.18.1" +version = "0.18.3" description = "The lightning-fast ASGI server." optional = false python-versions = ">=3.7" files = [ - {file = "uvicorn-0.18.1-py3-none-any.whl", hash = "sha256:013c4ea0787cc2dc456ef4368e18c01982e6be57903e4d3183218e543eb889b7"}, - {file = "uvicorn-0.18.1.tar.gz", hash = "sha256:35703e6518105cfe53f16a5a9435db3e2e227d0784f1fd8fbc1214b1fdc108df"}, + {file = "uvicorn-0.18.3-py3-none-any.whl", hash = "sha256:0abd429ebb41e604ed8d2be6c60530de3408f250e8d2d84967d85ba9e86fe3af"}, + {file = "uvicorn-0.18.3.tar.gz", hash = "sha256:9a66e7c42a2a95222f76ec24a4b754c158261c4696e683b9dadc72b590e0311b"}, ] [package.dependencies] @@ -2236,13 +2243,13 @@ colorama = {version = ">=0.4", optional = true, markers = "sys_platform == \"win h11 = ">=0.8" httptools = {version = ">=0.4.0", optional = true, markers = "extra == \"standard\""} python-dotenv = {version = ">=0.13", optional = true, markers = "extra == \"standard\""} -PyYAML = {version = ">=5.1", optional = true, markers = "extra == \"standard\""} +pyyaml = {version = ">=5.1", optional = true, markers = "extra == \"standard\""} uvloop = {version = ">=0.14.0,<0.15.0 || >0.15.0,<0.15.1 || >0.15.1", optional = true, markers = "(sys_platform != \"win32\" and sys_platform != \"cygwin\") and platform_python_implementation != \"PyPy\" and extra == \"standard\""} watchfiles = {version = ">=0.13", optional = true, markers = "extra == \"standard\""} websockets = {version = ">=10.0", optional = true, markers = "extra == \"standard\""} [package.extras] -standard = ["PyYAML (>=5.1)", "colorama (>=0.4)", "httptools (>=0.4.0)", "python-dotenv (>=0.13)", "uvloop (>=0.14.0,!=0.15.0,!=0.15.1)", "watchfiles (>=0.13)", "websockets (>=10.0)"] +standard = ["colorama (>=0.4)", "httptools (>=0.4.0)", "python-dotenv (>=0.13)", "pyyaml (>=5.1)", "uvloop (>=0.14.0,!=0.15.0,!=0.15.1)", "watchfiles (>=0.13)", "websockets (>=10.0)"] [[package]] name = "uvloop" @@ -2290,12 +2297,12 @@ test = ["Cython (>=0.29.36,<0.30.0)", "aiohttp (==3.9.0b0)", "aiohttp (>=3.8.1)" [[package]] name = "uwsgi" -version = "2.0.25.1" +version = "2.0.27" description = "The uWSGI server" optional = false python-versions = "*" files = [ - {file = "uwsgi-2.0.25.1.tar.gz", hash = "sha256:d653d2d804c194c8cbe2585fa56efa2650313ae75c686a9d7931374d4dfbfc6e"}, + {file = "uwsgi-2.0.27.tar.gz", hash = "sha256:3ee5bfb7e6e9c93478c22aa8183eef35b95a2d5b14cca16172e67f135565c458"}, ] [[package]] @@ -2617,4 +2624,4 @@ testing = ["coverage (>=5.0.3)", "zope.event", "zope.testing"] [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "6bc6cbf6fbe9ed773cacf9451ece9f8e29997e5426ad0dddb40529ea90a7bf3c" +content-hash = "52bff48222a6c9868c318974684f9c5073fa0501e6a9c3a4b228973b829efff8" diff --git a/pyproject.toml b/pyproject.toml index 4dd72170..0927ecec 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,37 +8,37 @@ readme = "README.md" [tool.poetry.dependencies] python = "^3.10" -bigbluebutton-api-python = "0.0.11" -channels = "3.0.4" -channels-redis = "3.4.0" -docutils = "0.17.1" -django = "3.2.25" -djangorestframework = "3.13.1" -django-debug-toolbar = "3.2.1" -dj-pagination = "2.5.0" -django-jazzmin = "2.4.7" -django-json-rpc = "0.7.1" -django-nvd3 = "0.9.7" -django-postman = "4.2" -django-tinymce = "3.3.0" -django-unique-session = "1.0.0" -django-user-agents = "0.4.0" -django-recaptcha = "2.0.6" -jxmlease = "1.0.3" -numpy = "1.26.4" -pypdf = "4.2.0" -pymemcache = "3.4.4" +bigbluebutton-api-python = "^0.0.11" +channels = "^3.0.4" +channels-redis = "^3.4.0" +docutils = "^0.17.1" +django = "^4.2.16" +djangorestframework = "^3.13.1" +django-debug-toolbar = "^3.2.1" +dj-pagination = "^2.5.0" +django-jazzmin = "^2.4.7" +django-json-rpc = "^0.7.1" +django-nvd3 = "^0.9.7" +django-postman = "^4.2" +django-tinymce = "^3.3.0" +django-unique-session = "^1.0.0" +django-user-agents = "^0.4.0" +django-recaptcha = "^4.0.0" +jxmlease = "^1.0.3" +numpy = "^1.26.4" +pypdf = "^4.2.0" +pymemcache = "^3.4.4" requests = "^2.31.0" -sorl-thumbnail = "12.10.0" -unidecode = "1.2.0" -weasyprint = "52.5" -xlrd = "2.0.1" -xlwt = "1.3.0" -psycopg2 = "2.8.6" -redis = "3.5.3" -uwsgi = "2.0.25.1" -uvicorn = {version = "0.18.1", extras = ["standard"]} -httpx = "0.23.3" +sorl-thumbnail = "^12.10.0" +unidecode = "^1.2.0" +weasyprint = "^52.5" +xlrd = "^2.0.1" +xlwt = "^1.3.0" +psycopg2 = "^2.8.6" +redis = "^3.5.3" +uwsgi = "^2.0.25.1" +uvicorn = {version = "^0.18.1", extras = ["standard"]} +httpx = "^0.23.3" django-storages = {extras = ["s3"], version = "^1.14.2"} boto3 = "^1.34.89" ipython = "^8.23.0" diff --git a/teleforma/admin.py b/teleforma/admin.py index d396415e..da4194a5 100644 --- a/teleforma/admin.py +++ b/teleforma/admin.py @@ -14,7 +14,7 @@ from django.contrib.auth.models import User from django.core import serializers from django.urls import reverse from django.http import HttpResponse -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from django.utils.html import format_html from collections import OrderedDict diff --git a/teleforma/exam/models.py b/teleforma/exam/models.py index d8abfba6..5226ce60 100755 --- a/teleforma/exam/models.py +++ b/teleforma/exam/models.py @@ -51,7 +51,7 @@ from django.db.models.signals import post_save from django.template.loader import render_to_string from django.urls.base import reverse_lazy from django.utils.translation import ugettext -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from postman.models import Message from postman.utils import notify_user from teleforma.models.core import Course, Period diff --git a/teleforma/exam/views.py b/teleforma/exam/views.py index 73ffee91..c5f37263 100755 --- a/teleforma/exam/views.py +++ b/teleforma/exam/views.py @@ -17,7 +17,7 @@ from django.shortcuts import get_object_or_404, redirect from django.urls import reverse_lazy from django.utils.decorators import method_decorator from django.utils.translation import ugettext -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from django.views.generic.base import View from django.views.generic.edit import CreateView, UpdateView from django.views.generic.list import ListView diff --git a/teleforma/fields.py b/teleforma/fields.py index 03e89a71..fb3fe2af 100644 --- a/teleforma/fields.py +++ b/teleforma/fields.py @@ -7,7 +7,7 @@ from django import forms from django.contrib.auth import get_user_model from django.core import exceptions from django.forms import Textarea -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ class ShortTextField(models.TextField): diff --git a/teleforma/forms.py b/teleforma/forms.py index d1703e37..43b738b5 100644 --- a/teleforma/forms.py +++ b/teleforma/forms.py @@ -11,7 +11,7 @@ from django.forms import (BooleanField, CharField, ChoiceField, DateField, FileInput, ImageField, ModelChoiceField, ModelForm, ModelMultipleChoiceField) from django.template.defaultfilters import slugify -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from django.utils.timezone import datetime from PIL import Image from postman.fields import BasicCommaSeparatedUserField diff --git a/teleforma/models/ae.py b/teleforma/models/ae.py index 3dc4baa3..05f23d35 100644 --- a/teleforma/models/ae.py +++ b/teleforma/models/ae.py @@ -36,7 +36,7 @@ import django.db.models as models from django.contrib.auth.models import User -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from ..models import app_label from ..models.core import MetaCore diff --git a/teleforma/models/appointment.py b/teleforma/models/appointment.py index 018348e8..45735f12 100644 --- a/teleforma/models/appointment.py +++ b/teleforma/models/appointment.py @@ -6,7 +6,7 @@ from django.contrib.auth.models import User from django.core.cache import cache from django.db import models from django.utils.functional import cached_property -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from ..models import app_label from ..models.core import MetaCore, Period diff --git a/teleforma/models/chat.py b/teleforma/models/chat.py index 145d2cc4..c9eeedf0 100644 --- a/teleforma/models/chat.py +++ b/teleforma/models/chat.py @@ -3,7 +3,7 @@ from django.contrib.auth.models import User from django.contrib.sites.models import Site from django.db import models from django.urls.base import reverse -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from ..models import MetaCore from ..models.core import app_label diff --git a/teleforma/models/core.py b/teleforma/models/core.py index 778af7d8..0d2f1c6e 100644 --- a/teleforma/models/core.py +++ b/teleforma/models/core.py @@ -53,7 +53,7 @@ from django.db import models from django.forms.fields import FileField from django.template.defaultfilters import slugify from django.urls import reverse_lazy, reverse -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from django.db.models.signals import post_save # from quiz.models import Quiz diff --git a/teleforma/models/crfpa.py b/teleforma/models/crfpa.py index 5b8c3f57..b6ea8142 100644 --- a/teleforma/models/crfpa.py +++ b/teleforma/models/crfpa.py @@ -42,7 +42,7 @@ from django.db import transaction from django.contrib.auth.models import User from django.db.models import signals from django.urls.base import reverse_lazy -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from tinymce.models import HTMLField from django.core.cache import cache diff --git a/teleforma/models/messages.py b/teleforma/models/messages.py index f9c5eeea..51ca9877 100644 --- a/teleforma/models/messages.py +++ b/teleforma/models/messages.py @@ -5,7 +5,7 @@ from django.contrib.auth.models import User from django.contrib.sites.models import Site from django.db import models from django.urls import reverse -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from postman.models import Message from postman.utils import notify_user diff --git a/teleforma/models/notification.py b/teleforma/models/notification.py index d66a8600..72a7c7ac 100644 --- a/teleforma/models/notification.py +++ b/teleforma/models/notification.py @@ -2,7 +2,7 @@ from datetime import datetime, timedelta from django.contrib.auth.models import User from django.db import models -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from ..models import MetaCore from ..models.core import app_label diff --git a/teleforma/models/pro.py b/teleforma/models/pro.py index b2ef7189..7dcf1ea7 100644 --- a/teleforma/models/pro.py +++ b/teleforma/models/pro.py @@ -36,7 +36,7 @@ import django.db.models as models from django.contrib.auth.models import User -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from ..fields import DurationField from ..models import app_label diff --git a/teleforma/models/profile.py.bak b/teleforma/models/profile.py.bak index 501e4d09..539f9578 100644 --- a/teleforma/models/profile.py.bak +++ b/teleforma/models/profile.py.bak @@ -1,7 +1,7 @@ from django.db import models from django.contrib.auth.models import User from teleforma.models.core import MetaCore -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ class UserProfile(models.Model): "User profile extension" diff --git a/teleforma/templatetags/teleforma_tags.py b/teleforma/templatetags/teleforma_tags.py index f34f1d64..ba5afa06 100644 --- a/teleforma/templatetags/teleforma_tags.py +++ b/teleforma/templatetags/teleforma_tags.py @@ -44,9 +44,9 @@ from django.contrib.auth.models import User from django.db.models.query_utils import Q from django.shortcuts import get_object_or_404 from django.urls.base import reverse -from django.utils.encoding import force_text, smart_str +from django.utils.encoding import force_str, smart_str from django.utils.safestring import mark_safe -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from docutils.core import publish_parts from teleforma.views.core import get_course_conferences @@ -422,7 +422,7 @@ def render_flatpage(content): parts = publish_parts(source=smart_str( parsed), writer_name="html4css1", settings_overrides={}) - return mark_safe('
\n' + force_text(parts["html_body"]) + '
') + return mark_safe('
\n' + force_str(parts["html_body"]) + '
') render_flatpage.is_safe = True diff --git a/teleforma/views/core.py b/teleforma/views/core.py index 8283aa91..69ecc13d 100644 --- a/teleforma/views/core.py +++ b/teleforma/views/core.py @@ -52,7 +52,7 @@ from django.contrib.sites.shortcuts import get_current_site from django.template import loader from django.urls import reverse from django.utils.decorators import method_decorator -from django.utils.translation import ugettext, ugettext_lazy as _ +from django.utils.translation import ugettext, gettext_lazy as _ from django.views.decorators.csrf import csrf_exempt from django.views.generic.base import TemplateResponseMixin, TemplateView, View from django.views.generic.detail import DetailView diff --git a/teleforma/views/crfpa.py b/teleforma/views/crfpa.py index bb507b67..c4aad8a9 100644 --- a/teleforma/views/crfpa.py +++ b/teleforma/views/crfpa.py @@ -49,7 +49,7 @@ from django.shortcuts import get_object_or_404, redirect, render from django.template.defaultfilters import slugify from django.urls.base import reverse, reverse_lazy from django.utils.decorators import method_decorator -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from django.views.decorators.csrf import csrf_exempt from django.views.generic.base import TemplateView, View from django.views.generic.detail import DetailView diff --git a/teleforma/views/payment.py b/teleforma/views/payment.py index 54b3c4f2..e3002af0 100644 --- a/teleforma/views/payment.py +++ b/teleforma/views/payment.py @@ -17,7 +17,7 @@ from django.template.context import RequestContext from django.template.loader import render_to_string from django.urls.base import reverse from django.utils.decorators import method_decorator -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from django.views.decorators.csrf import csrf_exempt from django.views.generic.detail import DetailView diff --git a/teleforma/webclass/models.py b/teleforma/webclass/models.py index 5ff01ed5..f3a284cd 100644 --- a/teleforma/webclass/models.py +++ b/teleforma/webclass/models.py @@ -14,7 +14,7 @@ from django.db.models.signals import post_save from django.dispatch import receiver from django.template.defaultfilters import slugify from django.utils import translation -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from jxmlease import XMLDictNode, XMLListNode from teleforma.fields import DurationField, ShortTextField from teleforma.models import session_choices