From efac7946ec190741b260614bb6447cb33a27a930 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 20 Mar 2024 16:48:20 +0000 Subject: [PATCH 1/3] Bump black from 22.12.0 to 24.3.0 Bumps [black](https://github.com/psf/black) from 22.12.0 to 24.3.0. - [Release notes](https://github.com/psf/black/releases) - [Changelog](https://github.com/psf/black/blob/main/CHANGES.md) - [Commits](https://github.com/psf/black/compare/22.12.0...24.3.0) --- updated-dependencies: - dependency-name: black dependency-type: direct:development ... Signed-off-by: dependabot[bot] --- poetry.lock | 204 ++++++++++--------------------------------------- pyproject.toml | 2 +- 2 files changed, 43 insertions(+), 163 deletions(-) diff --git a/poetry.lock b/poetry.lock index c51584dc..761e8047 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,10 +1,9 @@ -# This file is automatically @generated by Poetry 1.4.2 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand. [[package]] name = "aio-pika" version = "6.8.2" description = "Wrapper for the aiormq for asyncio and humans." -category = "main" optional = false python-versions = ">=3.5, <4" files = [ @@ -23,7 +22,6 @@ develop = ["aiomisc (>=10.1.6,<10.2.0)", "async-generator", "coverage (!=4.3)", name = "aiodns" version = "3.0.0" description = "Simple DNS resolver for asyncio" -category = "main" optional = false python-versions = "*" files = [ @@ -38,7 +36,6 @@ pycares = ">=4.0.0" name = "aiofiles" version = "23.1.0" description = "File support for asyncio." -category = "main" optional = false python-versions = ">=3.7,<4.0" files = [ @@ -50,7 +47,6 @@ files = [ name = "aiohttp" version = "3.9.2" description = "Async http client/server framework (asyncio)" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -133,7 +129,7 @@ files = [ ] [package.dependencies] -aiodns = {version = "*", optional = true, markers = "sys_platform == \"linux\" and extra == \"speedups\" or sys_platform == \"darwin\" and extra == \"speedups\""} +aiodns = {version = "*", optional = true, markers = "(sys_platform == \"linux\" or sys_platform == \"darwin\") and extra == \"speedups\""} aiosignal = ">=1.1.2" async-timeout = {version = ">=4.0,<5.0", markers = "python_version < \"3.11\""} attrs = ">=17.3.0" @@ -150,7 +146,6 @@ speedups = ["Brotli", "aiodns", "brotlicffi"] name = "aiohttp-client-cache" version = "0.5.2" description = "Persistent cache for aiohttp requests" -category = "main" optional = false python-versions = ">=3.7,<4.0" files = [ @@ -178,7 +173,6 @@ sqlite = ["aiosqlite (>=0.16,<0.17)"] name = "aiormq" version = "3.3.1" description = "Pure python AMQP asynchronous client library" -category = "main" optional = false python-versions = ">3.5.*" files = [ @@ -197,7 +191,6 @@ develop = ["aiomisc (>=11.0,<12.0)", "async-generator", "coverage (!=4.3)", "cov name = "aiosignal" version = "1.3.1" description = "aiosignal: a list of registered asynchronous callbacks" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -212,7 +205,6 @@ frozenlist = ">=1.1.0" name = "anyio" version = "3.6.2" description = "High level compatibility layer for multiple asynchronous event loop implementations" -category = "dev" optional = false python-versions = ">=3.6.2" files = [ @@ -233,7 +225,6 @@ trio = ["trio (>=0.16,<0.22)"] name = "async-timeout" version = "4.0.2" description = "Timeout context manager for asyncio programs" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -245,7 +236,6 @@ files = [ name = "attrs" version = "21.4.0" description = "Classes Without Boilerplate" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -263,7 +253,6 @@ tests-no-zope = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy" name = "beautifulsoup4" version = "4.12.2" description = "Screen-scraping library" -category = "main" optional = false python-versions = ">=3.6.0" files = [ @@ -280,37 +269,47 @@ lxml = ["lxml"] [[package]] name = "black" -version = "22.12.0" +version = "24.3.0" description = "The uncompromising code formatter." -category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "black-22.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9eedd20838bd5d75b80c9f5487dbcb06836a43833a37846cf1d8c1cc01cef59d"}, - {file = "black-22.12.0-cp310-cp310-win_amd64.whl", hash = "sha256:159a46a4947f73387b4d83e87ea006dbb2337eab6c879620a3ba52699b1f4351"}, - {file = "black-22.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d30b212bffeb1e252b31dd269dfae69dd17e06d92b87ad26e23890f3efea366f"}, - {file = "black-22.12.0-cp311-cp311-win_amd64.whl", hash = "sha256:7412e75863aa5c5411886804678b7d083c7c28421210180d67dfd8cf1221e1f4"}, - {file = "black-22.12.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c116eed0efb9ff870ded8b62fe9f28dd61ef6e9ddd28d83d7d264a38417dcee2"}, - {file = "black-22.12.0-cp37-cp37m-win_amd64.whl", hash = "sha256:1f58cbe16dfe8c12b7434e50ff889fa479072096d79f0a7f25e4ab8e94cd8350"}, - {file = "black-22.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77d86c9f3db9b1bf6761244bc0b3572a546f5fe37917a044e02f3166d5aafa7d"}, - {file = "black-22.12.0-cp38-cp38-win_amd64.whl", hash = "sha256:82d9fe8fee3401e02e79767016b4907820a7dc28d70d137eb397b92ef3cc5bfc"}, - {file = "black-22.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:101c69b23df9b44247bd88e1d7e90154336ac4992502d4197bdac35dd7ee3320"}, - {file = "black-22.12.0-cp39-cp39-win_amd64.whl", hash = "sha256:559c7a1ba9a006226f09e4916060982fd27334ae1998e7a38b3f33a37f7a2148"}, - {file = "black-22.12.0-py3-none-any.whl", hash = "sha256:436cc9167dd28040ad90d3b404aec22cedf24a6e4d7de221bec2730ec0c97bcf"}, - {file = "black-22.12.0.tar.gz", hash = "sha256:229351e5a18ca30f447bf724d007f890f97e13af070bb6ad4c0a441cd7596a2f"}, + {file = "black-24.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7d5e026f8da0322b5662fa7a8e752b3fa2dac1c1cbc213c3d7ff9bdd0ab12395"}, + {file = "black-24.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9f50ea1132e2189d8dff0115ab75b65590a3e97de1e143795adb4ce317934995"}, + {file = "black-24.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e2af80566f43c85f5797365077fb64a393861a3730bd110971ab7a0c94e873e7"}, + {file = "black-24.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:4be5bb28e090456adfc1255e03967fb67ca846a03be7aadf6249096100ee32d0"}, + {file = "black-24.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4f1373a7808a8f135b774039f61d59e4be7eb56b2513d3d2f02a8b9365b8a8a9"}, + {file = "black-24.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:aadf7a02d947936ee418777e0247ea114f78aff0d0959461057cae8a04f20597"}, + {file = "black-24.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65c02e4ea2ae09d16314d30912a58ada9a5c4fdfedf9512d23326128ac08ac3d"}, + {file = "black-24.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:bf21b7b230718a5f08bd32d5e4f1db7fc8788345c8aea1d155fc17852b3410f5"}, + {file = "black-24.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:2818cf72dfd5d289e48f37ccfa08b460bf469e67fb7c4abb07edc2e9f16fb63f"}, + {file = "black-24.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4acf672def7eb1725f41f38bf6bf425c8237248bb0804faa3965c036f7672d11"}, + {file = "black-24.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c7ed6668cbbfcd231fa0dc1b137d3e40c04c7f786e626b405c62bcd5db5857e4"}, + {file = "black-24.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:56f52cfbd3dabe2798d76dbdd299faa046a901041faf2cf33288bc4e6dae57b5"}, + {file = "black-24.3.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:79dcf34b33e38ed1b17434693763301d7ccbd1c5860674a8f871bd15139e7837"}, + {file = "black-24.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:e19cb1c6365fd6dc38a6eae2dcb691d7d83935c10215aef8e6c38edee3f77abd"}, + {file = "black-24.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65b76c275e4c1c5ce6e9870911384bff5ca31ab63d19c76811cb1fb162678213"}, + {file = "black-24.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:b5991d523eee14756f3c8d5df5231550ae8993e2286b8014e2fdea7156ed0959"}, + {file = "black-24.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c45f8dff244b3c431b36e3224b6be4a127c6aca780853574c00faf99258041eb"}, + {file = "black-24.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6905238a754ceb7788a73f02b45637d820b2f5478b20fec82ea865e4f5d4d9f7"}, + {file = "black-24.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d7de8d330763c66663661a1ffd432274a2f92f07feeddd89ffd085b5744f85e7"}, + {file = "black-24.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:7bb041dca0d784697af4646d3b62ba4a6b028276ae878e53f6b4f74ddd6db99f"}, + {file = "black-24.3.0-py3-none-any.whl", hash = "sha256:41622020d7120e01d377f74249e677039d20e6344ff5851de8a10f11f513bf93"}, + {file = "black-24.3.0.tar.gz", hash = "sha256:a0c9c4a0771afc6919578cec71ce82a3e31e054904e7197deacbc9382671c41f"}, ] [package.dependencies] click = ">=8.0.0" mypy-extensions = ">=0.4.3" +packaging = ">=22.0" pathspec = ">=0.9.0" platformdirs = ">=2" -tomli = {version = ">=1.1.0", markers = "python_full_version < \"3.11.0a7\""} -typing-extensions = {version = ">=3.10.0.0", markers = "python_version < \"3.10\""} +tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} +typing-extensions = {version = ">=4.0.1", markers = "python_version < \"3.11\""} [package.extras] colorama = ["colorama (>=0.4.3)"] -d = ["aiohttp (>=3.7.4)"] +d = ["aiohttp (>=3.7.4)", "aiohttp (>=3.7.4,!=3.9.0)"] jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] uvloop = ["uvloop (>=0.15.2)"] @@ -318,7 +317,6 @@ uvloop = ["uvloop (>=0.15.2)"] name = "blinker" version = "1.7.0" description = "Fast, simple object-to-object and broadcast signaling" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -330,7 +328,6 @@ files = [ name = "brotli" version = "1.0.9" description = "Python bindings for the Brotli compression library" -category = "main" optional = false python-versions = "*" files = [ @@ -422,7 +419,6 @@ files = [ name = "brotlicffi" version = "1.1.0.0" description = "Python CFFI bindings to the Brotli library" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -462,7 +458,6 @@ cffi = ">=1.0.0" name = "certifi" version = "2023.7.22" description = "Python package for providing Mozilla's CA Bundle." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -474,7 +469,6 @@ files = [ name = "cffi" version = "1.15.1" description = "Foreign Function Interface for Python calling C code." -category = "main" optional = false python-versions = "*" files = [ @@ -551,7 +545,6 @@ pycparser = "*" name = "chardet" version = "5.1.0" description = "Universal encoding detector for Python 3" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -563,7 +556,6 @@ files = [ name = "charset-normalizer" version = "3.1.0" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -category = "main" optional = false python-versions = ">=3.7.0" files = [ @@ -648,7 +640,6 @@ files = [ name = "click" version = "8.1.3" description = "Composable command line interface toolkit" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -663,7 +654,6 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""} name = "colorama" version = "0.4.6" description = "Cross-platform colored terminal text." -category = "dev" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" files = [ @@ -675,7 +665,6 @@ files = [ name = "configargparse" version = "1.7" description = "A drop-in replacement for argparse that allows options to also be set via config files and/or environment variables." -category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -691,7 +680,6 @@ yaml = ["PyYAML"] name = "convertdate" version = "2.4.0" description = "Converts between Gregorian dates and other calendar systems" -category = "main" optional = false python-versions = "<4,>=3.7" files = [ @@ -711,7 +699,6 @@ tests = ["coverage"] name = "coverage" version = "7.2.5" description = "Code coverage measurement for Python" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -778,7 +765,6 @@ toml = ["tomli"] name = "cryptography" version = "42.0.4" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -833,7 +819,6 @@ test-randomorder = ["pytest-randomly"] name = "dataproperty" version = "0.55.0" description = "Python library for extract property from data." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -853,7 +838,6 @@ test = ["pytest (>=6.0.1)", "pytest-md-report (>=0.1)", "termcolor"] name = "dnspython" version = "2.3.0" description = "DNS toolkit" -category = "main" optional = false python-versions = ">=3.7,<4.0" files = [ @@ -874,7 +858,6 @@ wmi = ["wmi (>=1.5.1,<2.0.0)"] name = "email-validator" version = "1.3.1" description = "A robust email address syntax and deliverability validation library." -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -890,7 +873,6 @@ idna = ">=2.0.0" name = "emoji" version = "2.2.0" description = "Emoji for Python" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -904,7 +886,6 @@ dev = ["coverage", "coveralls", "pytest"] name = "exceptiongroup" version = "1.1.1" description = "Backport of PEP 654 (exception groups)" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -919,7 +900,6 @@ test = ["pytest (>=6)"] name = "faker" version = "8.16.0" description = "Faker is a Python package that generates fake data for you." -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -935,7 +915,6 @@ text-unidecode = "1.3" name = "flake8" version = "3.9.2" description = "the modular source code checker: pep8 pyflakes and co" -category = "dev" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" files = [ @@ -952,7 +931,6 @@ pyflakes = ">=2.3.0,<2.4.0" name = "flask" version = "3.0.2" description = "A simple framework for building complex web applications." -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -976,7 +954,6 @@ dotenv = ["python-dotenv"] name = "flask-cors" version = "3.0.10" description = "A Flask extension adding a decorator for CORS support" -category = "dev" optional = false python-versions = "*" files = [ @@ -992,7 +969,6 @@ Six = "*" name = "flask-login" version = "0.6.3" description = "User authentication and session management for Flask." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1008,7 +984,6 @@ Werkzeug = ">=1.0.1" name = "frozenlist" version = "1.3.3" description = "A list-like structure which implements collections.abc.MutableSequence" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1092,7 +1067,6 @@ files = [ name = "geographiclib" version = "1.52" description = "The geodesic routines from GeographicLib" -category = "main" optional = false python-versions = "*" files = [ @@ -1104,7 +1078,6 @@ files = [ name = "geopy" version = "2.2.0" description = "Python Geocoding Toolbox" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -1128,7 +1101,6 @@ timezone = ["pytz"] name = "gevent" version = "23.9.1" description = "Coroutine-based network library" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -1194,7 +1166,6 @@ test = ["cffi (>=1.12.2)", "coverage (>=5.0)", "dnspython (>=1.16.0,<2.0)", "idn name = "geventhttpclient" version = "2.0.11" description = "http client library for gevent" -category = "dev" optional = false python-versions = "*" files = [ @@ -1318,7 +1289,6 @@ six = "*" name = "greenlet" version = "3.0.0rc3" description = "Lightweight in-process concurrent programming" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1390,7 +1360,6 @@ test = ["objgraph", "psutil"] name = "h11" version = "0.14.0" description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1402,7 +1371,6 @@ files = [ name = "hijri-converter" version = "2.3.1" description = "Accurate Hijri-Gregorian dates converter based on the Umm al-Qura calendar" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1414,7 +1382,6 @@ files = [ name = "holidays" version = "0.11.3.1" description = "Generate and work with holidays in Python" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1432,7 +1399,6 @@ python-dateutil = "*" name = "httpcore" version = "0.16.3" description = "A minimal low-level HTTP client." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1444,17 +1410,16 @@ files = [ anyio = ">=3.0,<5.0" certifi = "*" h11 = ">=0.13,<0.15" -sniffio = ">=1.0.0,<2.0.0" +sniffio = "==1.*" [package.extras] http2 = ["h2 (>=3,<5)"] -socks = ["socksio (>=1.0.0,<2.0.0)"] +socks = ["socksio (==1.*)"] [[package]] name = "httptools" version = "0.5.0" description = "A collection of framework independent HTTP protocol utils." -category = "main" optional = false python-versions = ">=3.5.0" files = [ @@ -1508,7 +1473,6 @@ test = ["Cython (>=0.29.24,<0.30.0)"] name = "httpx" version = "0.23.3" description = "The next generation HTTP client." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1524,15 +1488,14 @@ sniffio = "*" [package.extras] brotli = ["brotli", "brotlicffi"] -cli = ["click (>=8.0.0,<9.0.0)", "pygments (>=2.0.0,<3.0.0)", "rich (>=10,<13)"] +cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<13)"] http2 = ["h2 (>=3,<5)"] -socks = ["socksio (>=1.0.0,<2.0.0)"] +socks = ["socksio (==1.*)"] [[package]] name = "idna" version = "3.4" description = "Internationalized Domain Names in Applications (IDNA)" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -1544,7 +1507,6 @@ files = [ name = "importlib-metadata" version = "6.6.0" description = "Read metadata from Python packages" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1564,7 +1526,6 @@ testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packag name = "iniconfig" version = "2.0.0" description = "brain-dead simple config-ini parsing" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1576,7 +1537,6 @@ files = [ name = "isort" version = "5.12.0" description = "A Python utility / library to sort Python imports." -category = "dev" optional = false python-versions = ">=3.8.0" files = [ @@ -1594,7 +1554,6 @@ requirements-deprecated-finder = ["pip-api", "pipreqs"] name = "itsdangerous" version = "2.1.2" description = "Safely pass data to untrusted environments and back." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1606,7 +1565,6 @@ files = [ name = "jinja2" version = "3.1.3" description = "A very fast and expressive template engine." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1624,7 +1582,6 @@ i18n = ["Babel (>=2.7)"] name = "jsonschema" version = "4.17.3" description = "An implementation of JSON Schema validation for Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1644,7 +1601,6 @@ format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339- name = "korean-lunar-calendar" version = "0.3.1" description = "Korean Lunar Calendar" -category = "main" optional = false python-versions = "*" files = [ @@ -1656,7 +1612,6 @@ files = [ name = "locust" version = "2.23.1" description = "Developer friendly load testing framework" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -1683,7 +1638,6 @@ Werkzeug = ">=2.0.0" name = "markdown" version = "3.4.3" description = "Python implementation of John Gruber's Markdown." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1701,7 +1655,6 @@ testing = ["coverage", "pyyaml"] name = "markupsafe" version = "2.1.2" description = "Safely add untrusted strings to HTML/XML markup." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1761,7 +1714,6 @@ files = [ name = "mbstrdecoder" version = "1.1.2" description = "multi-byte character string decoder" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1779,7 +1731,6 @@ test = ["Faker (>=1.0.2)", "pytest (>=6.0.1)", "pytest-md-report (>=0.1)"] name = "mccabe" version = "0.6.1" description = "McCabe checker, plugin for flake8" -category = "dev" optional = false python-versions = "*" files = [ @@ -1791,7 +1742,6 @@ files = [ name = "msgpack" version = "1.0.5" description = "MessagePack serializer" -category = "dev" optional = false python-versions = "*" files = [ @@ -1864,7 +1814,6 @@ files = [ name = "multidict" version = "5.2.0" description = "multidict implementation" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1946,7 +1895,6 @@ files = [ name = "mypy" version = "0.960" description = "Optional static typing for Python" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1989,7 +1937,6 @@ reports = ["lxml"] name = "mypy-extensions" version = "1.0.0" description = "Type system extensions for programs checked with the mypy type checker." -category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -2001,7 +1948,6 @@ files = [ name = "numpy" version = "1.24.3" description = "Fundamental package for array computing in Python" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -2039,7 +1985,6 @@ files = [ name = "opencv-python-headless" version = "4.7.0.72" description = "Wrapper package for OpenCV python bindings." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -2054,20 +1999,17 @@ files = [ [package.dependencies] numpy = [ - {version = ">=1.21.0", markers = "python_version <= \"3.9\" and platform_system == \"Darwin\" and platform_machine == \"arm64\""}, - {version = ">=1.21.2", markers = "python_version >= \"3.10\""}, - {version = ">=1.21.4", markers = "python_version >= \"3.10\" and platform_system == \"Darwin\""}, + {version = ">=1.21.0", markers = "python_version == \"3.9\" and platform_system == \"Darwin\" and platform_machine == \"arm64\""}, {version = ">=1.22.0", markers = "python_version >= \"3.11\""}, - {version = ">=1.19.3", markers = "python_version >= \"3.6\" and platform_system == \"Linux\" and platform_machine == \"aarch64\" or python_version >= \"3.9\""}, - {version = ">=1.17.0", markers = "python_version >= \"3.7\""}, - {version = ">=1.17.3", markers = "python_version >= \"3.8\""}, + {version = ">=1.21.4", markers = "python_version >= \"3.10\" and platform_system == \"Darwin\" and python_version < \"3.11\""}, + {version = ">=1.21.2", markers = "platform_system != \"Darwin\" and python_version >= \"3.10\" and python_version < \"3.11\""}, + {version = ">=1.19.3", markers = "platform_system == \"Linux\" and platform_machine == \"aarch64\" and python_version >= \"3.8\" and python_version < \"3.10\" or python_version > \"3.9\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_system != \"Darwin\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_machine != \"arm64\" and python_version < \"3.10\""}, ] [[package]] name = "packaging" version = "23.1" description = "Core utilities for Python packages" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2079,7 +2021,6 @@ files = [ name = "pamqp" version = "2.3.0" description = "RabbitMQ Focused AMQP low-level library" -category = "main" optional = false python-versions = "*" files = [ @@ -2094,7 +2035,6 @@ codegen = ["lxml"] name = "path" version = "16.6.0" description = "A module wrapper for os.path" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2110,7 +2050,6 @@ testing = ["appdirs", "flake8 (<5)", "packaging", "pygments", "pytest (>=6)", "p name = "pathspec" version = "0.11.1" description = "Utility library for gitignore style pattern matching of file paths." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -2122,7 +2061,6 @@ files = [ name = "pathvalidate" version = "2.5.2" description = "pathvalidate is a Python library to sanitize/validate a string such as filenames/file-paths/etc." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -2137,7 +2075,6 @@ test = ["allpairspy", "click", "faker", "pytest (>=6.0.1)", "pytest-discord (>=0 name = "phonenumberslite" version = "8.13.11" description = "Python version of Google's common library for parsing, formatting, storing and validating international phone numbers." -category = "main" optional = false python-versions = "*" files = [ @@ -2149,7 +2086,6 @@ files = [ name = "platformdirs" version = "3.5.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -2165,7 +2101,6 @@ test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.3.1)", "pytest- name = "pluggy" version = "1.0.0" description = "plugin and hook calling mechanisms for python" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -2181,7 +2116,6 @@ testing = ["pytest", "pytest-benchmark"] name = "prometheus-client" version = "0.9.0" description = "Python client for the Prometheus monitoring system." -category = "main" optional = false python-versions = "*" files = [ @@ -2196,7 +2130,6 @@ twisted = ["twisted"] name = "psutil" version = "5.9.5" description = "Cross-platform lib for process and system monitoring in Python." -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -2223,7 +2156,6 @@ test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"] name = "pycares" version = "4.3.0" description = "Python interface for c-ares" -category = "main" optional = false python-versions = "*" files = [ @@ -2291,7 +2223,6 @@ idna = ["idna (>=2.1)"] name = "pycodestyle" version = "2.7.0" description = "Python style guide checker" -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -2303,7 +2234,6 @@ files = [ name = "pycountry" version = "20.7.3" description = "ISO country, subdivision, language, currency and script definitions and their translations" -category = "main" optional = false python-versions = "*" files = [ @@ -2314,7 +2244,6 @@ files = [ name = "pycparser" version = "2.21" description = "C parser in Python" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -2326,7 +2255,6 @@ files = [ name = "pyflakes" version = "2.3.1" description = "passive checker of Python programs" -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -2338,7 +2266,6 @@ files = [ name = "pymeeus" version = "0.5.12" description = "Python implementation of Jean Meeus astronomical routines" -category = "main" optional = false python-versions = "*" files = [ @@ -2349,7 +2276,6 @@ files = [ name = "pyrsistent" version = "0.19.3" description = "Persistent/Functional/Immutable data structures" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2386,7 +2312,6 @@ files = [ name = "pytablereader" version = "0.31.3" description = "pytablereader is a Python library to load structured table data from files/strings/URL with various data format: CSV / Excel / Google-Sheets / HTML / JSON / LDJSON / LTSV / Markdown / SQLite / TSV." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -2421,7 +2346,6 @@ url = ["retryrequests (>=0.1,<1)"] name = "pytest" version = "7.3.1" description = "pytest: simple powerful testing with Python" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -2444,7 +2368,6 @@ testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "no name = "pytest-asyncio" version = "0.14.0" description = "Pytest support for asyncio." -category = "dev" optional = false python-versions = ">= 3.5" files = [ @@ -2462,7 +2385,6 @@ testing = ["async-generator (>=1.3)", "coverage", "hypothesis (>=5.7.1)"] name = "pytest-cov" version = "4.0.0" description = "Pytest plugin for measuring coverage." -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -2481,7 +2403,6 @@ testing = ["fields", "hunter", "process-tests", "pytest-xdist", "six", "virtuale name = "python-dateutil" version = "2.8.2" description = "Extensions to the standard Python datetime module" -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ @@ -2496,7 +2417,6 @@ six = ">=1.5" name = "python-forge" version = "18.6.0" description = "forge (python signatures)" -category = "main" optional = false python-versions = "*" files = [ @@ -2512,7 +2432,6 @@ testing = ["coverage", "mypy", "pylint", "pytest"] name = "pytz" version = "2023.3" description = "World timezone definitions, modern and historical" -category = "main" optional = false python-versions = "*" files = [ @@ -2524,7 +2443,6 @@ files = [ name = "pywin32" version = "306" description = "Python for Window Extensions" -category = "dev" optional = false python-versions = "*" files = [ @@ -2548,7 +2466,6 @@ files = [ name = "pyzmq" version = "25.0.2" description = "Python bindings for 0MQ" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -2638,7 +2555,6 @@ cffi = {version = "*", markers = "implementation_name == \"pypy\""} name = "rapidfuzz" version = "1.5.1" description = "rapid fuzzy string matching" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -2709,7 +2625,6 @@ files = [ name = "redis" version = "4.5.4" description = "Python client for Redis database and key-value store" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2728,7 +2643,6 @@ ocsp = ["cryptography (>=36.0.1)", "pyopenssl (==20.0.1)", "requests (>=2.26.0)" name = "requests" version = "2.31.0" description = "Python HTTP for Humans." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2750,7 +2664,6 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] name = "rfc3986" version = "1.5.0" description = "Validating URI References per RFC 3986" -category = "dev" optional = false python-versions = "*" files = [ @@ -2768,7 +2681,6 @@ idna2008 = ["idna"] name = "roundrobin" version = "0.0.4" description = "Collection of roundrobin utilities" -category = "dev" optional = false python-versions = "*" files = [ @@ -2779,7 +2691,6 @@ files = [ name = "sanic" version = "21.12.2" description = "A web server and web framework that's written to go fast. Build fast. Run fast." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2797,17 +2708,16 @@ uvloop = {version = ">=0.5.3", markers = "sys_platform != \"win32\" and implemen websockets = ">=10.0" [package.extras] -all = ["bandit", "beautifulsoup4", "black", "chardet (>=3.0.0,<4.0.0)", "coverage (==5.3)", "cryptography", "docutils", "flake8", "gunicorn (==20.0.4)", "isort (>=5.0.0)", "m2r2", "mistune (<2.0.0)", "mypy (>=0.901,<0.910)", "pygments", "pytest (==6.2.5)", "pytest-benchmark", "pytest-cov", "pytest-sanic", "pytest-sugar", "sanic-testing (>=0.7.0)", "sphinx (>=2.1.2)", "sphinx-rtd-theme (>=0.4.3)", "towncrier", "tox", "types-ujson", "uvicorn (<0.15.0)"] -dev = ["bandit", "beautifulsoup4", "black", "chardet (>=3.0.0,<4.0.0)", "coverage (==5.3)", "cryptography", "docutils", "flake8", "gunicorn (==20.0.4)", "isort (>=5.0.0)", "mypy (>=0.901,<0.910)", "pygments", "pytest (==6.2.5)", "pytest-benchmark", "pytest-cov", "pytest-sanic", "pytest-sugar", "sanic-testing (>=0.7.0)", "towncrier", "tox", "types-ujson", "uvicorn (<0.15.0)"] +all = ["bandit", "beautifulsoup4", "black", "chardet (==3.*)", "coverage (==5.3)", "cryptography", "docutils", "flake8", "gunicorn (==20.0.4)", "isort (>=5.0.0)", "m2r2", "mistune (<2.0.0)", "mypy (>=0.901,<0.910)", "pygments", "pytest (==6.2.5)", "pytest-benchmark", "pytest-cov", "pytest-sanic", "pytest-sugar", "sanic-testing (>=0.7.0)", "sphinx (>=2.1.2)", "sphinx-rtd-theme (>=0.4.3)", "towncrier", "tox", "types-ujson", "uvicorn (<0.15.0)"] +dev = ["bandit", "beautifulsoup4", "black", "chardet (==3.*)", "coverage (==5.3)", "cryptography", "docutils", "flake8", "gunicorn (==20.0.4)", "isort (>=5.0.0)", "mypy (>=0.901,<0.910)", "pygments", "pytest (==6.2.5)", "pytest-benchmark", "pytest-cov", "pytest-sanic", "pytest-sugar", "sanic-testing (>=0.7.0)", "towncrier", "tox", "types-ujson", "uvicorn (<0.15.0)"] docs = ["docutils", "m2r2", "mistune (<2.0.0)", "pygments", "sphinx (>=2.1.2)", "sphinx-rtd-theme (>=0.4.3)"] ext = ["sanic-ext"] -test = ["bandit", "beautifulsoup4", "black", "chardet (>=3.0.0,<4.0.0)", "coverage (==5.3)", "docutils", "flake8", "gunicorn (==20.0.4)", "isort (>=5.0.0)", "mypy (>=0.901,<0.910)", "pygments", "pytest (==6.2.5)", "pytest-benchmark", "pytest-cov", "pytest-sanic", "pytest-sugar", "sanic-testing (>=0.7.0)", "types-ujson", "uvicorn (<0.15.0)"] +test = ["bandit", "beautifulsoup4", "black", "chardet (==3.*)", "coverage (==5.3)", "docutils", "flake8", "gunicorn (==20.0.4)", "isort (>=5.0.0)", "mypy (>=0.901,<0.910)", "pygments", "pytest (==6.2.5)", "pytest-benchmark", "pytest-cov", "pytest-sanic", "pytest-sugar", "sanic-testing (>=0.7.0)", "types-ujson", "uvicorn (<0.15.0)"] [[package]] name = "sanic-routing" version = "0.7.2" description = "Core routing component for Sanic" -category = "main" optional = false python-versions = "*" files = [ @@ -2819,7 +2729,6 @@ files = [ name = "sanic-testing" version = "0.8.3" description = "Core testing clients for Sanic" -category = "dev" optional = false python-versions = "*" files = [ @@ -2834,7 +2743,6 @@ httpx = ">=0.18,<0.24" name = "sentry-sdk" version = "1.21.1" description = "Python client for Sentry (https://sentry.io)" -category = "main" optional = false python-versions = "*" files = [ @@ -2876,7 +2784,6 @@ tornado = ["tornado (>=5)"] name = "setuptools" version = "65.7.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2893,7 +2800,6 @@ testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs ( name = "six" version = "1.16.0" description = "Python 2 and 3 compatibility utilities" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" files = [ @@ -2905,7 +2811,6 @@ files = [ name = "sniffio" version = "1.3.0" description = "Sniff out which async library your code is running under" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -2917,7 +2822,6 @@ files = [ name = "soupsieve" version = "2.4.1" description = "A modern CSS selector implementation for Beautiful Soup." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2929,7 +2833,6 @@ files = [ name = "tabledata" version = "1.3.1" description = "tabledata is a Python library to represent tabular data. Used for pytablewriter/pytablereader/SimpleSQLite/etc." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -2949,7 +2852,6 @@ test = ["pytablewriter (>=0.46)", "pytest"] name = "text-unidecode" version = "1.3" description = "The most basic Text::Unidecode port" -category = "dev" optional = false python-versions = "*" files = [ @@ -2961,7 +2863,6 @@ files = [ name = "tomli" version = "2.0.1" description = "A lil' TOML parser" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -2973,7 +2874,6 @@ files = [ name = "typepy" version = "1.3.0" description = "typepy is a Python library for variable type checker/validator/converter at a run time." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -2995,7 +2895,6 @@ test = ["packaging", "pytest (>=6.0.1)", "python-dateutil (>=2.8.0,<3.0.0)", "py name = "types-docutils" version = "0.19.1.8" description = "Typing stubs for docutils" -category = "dev" optional = false python-versions = "*" files = [ @@ -3007,7 +2906,6 @@ files = [ name = "types-emoji" version = "2.1.0.3" description = "Typing stubs for emoji" -category = "main" optional = false python-versions = "*" files = [ @@ -3019,7 +2917,6 @@ files = [ name = "types-pyopenssl" version = "23.1.0.2" description = "Typing stubs for pyOpenSSL" -category = "dev" optional = false python-versions = "*" files = [ @@ -3034,7 +2931,6 @@ cryptography = ">=35.0.0" name = "types-python-dateutil" version = "2.8.19.12" description = "Typing stubs for python-dateutil" -category = "dev" optional = false python-versions = "*" files = [ @@ -3046,7 +2942,6 @@ files = [ name = "types-redis" version = "4.5.4.1" description = "Typing stubs for redis" -category = "dev" optional = false python-versions = "*" files = [ @@ -3062,7 +2957,6 @@ types-pyOpenSSL = "*" name = "types-requests" version = "2.29.0.0" description = "Typing stubs for requests" -category = "dev" optional = false python-versions = "*" files = [ @@ -3077,7 +2971,6 @@ types-urllib3 = "<1.27" name = "types-setuptools" version = "65.7.0.4" description = "Typing stubs for setuptools" -category = "dev" optional = false python-versions = "*" files = [ @@ -3092,7 +2985,6 @@ types-docutils = "*" name = "types-urllib3" version = "1.26.25.12" description = "Typing stubs for urllib3" -category = "dev" optional = false python-versions = "*" files = [ @@ -3104,7 +2996,6 @@ files = [ name = "typing-extensions" version = "4.5.0" description = "Backported and Experimental Type Hints for Python 3.7+" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -3116,7 +3007,6 @@ files = [ name = "ujson" version = "5.7.0" description = "Ultra fast JSON encoder and decoder for Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3191,7 +3081,6 @@ files = [ name = "url-normalize" version = "1.4.3" description = "URL normalization for Python" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" files = [ @@ -3206,7 +3095,6 @@ six = "*" name = "urllib3" version = "1.26.18" description = "HTTP library with thread-safe connection pooling, file post, and more." -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" files = [ @@ -3223,7 +3111,6 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] name = "uvloop" version = "0.17.0" description = "Fast implementation of asyncio event loop on top of libuv" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3268,7 +3155,6 @@ test = ["Cython (>=0.29.32,<0.30.0)", "aiohttp", "flake8 (>=3.9.2,<3.10.0)", "my name = "websockets" version = "10.4" description = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3347,7 +3233,6 @@ files = [ name = "werkzeug" version = "3.0.1" description = "The comprehensive WSGI web application library." -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -3365,7 +3250,6 @@ watchdog = ["watchdog (>=2.3)"] name = "yarl" version = "1.9.2" description = "Yet another URL library" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3453,7 +3337,6 @@ multidict = ">=4.0" name = "zbar-py" version = "1.0.4" description = "zbar package" -category = "main" optional = false python-versions = "*" files = [ @@ -3467,7 +3350,6 @@ numpy = "*" name = "zipp" version = "3.15.0" description = "Backport of pathlib-compatible object wrapper for zip files" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3483,7 +3365,6 @@ testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more name = "zope-event" version = "4.6" description = "Very basic event publishing system" -category = "dev" optional = false python-versions = "*" files = [ @@ -3502,7 +3383,6 @@ test = ["zope.testrunner"] name = "zope-interface" version = "6.0" description = "Interfaces for Python" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -3549,4 +3429,4 @@ testing = ["coverage (>=5.0.3)", "zope.event", "zope.testing"] [metadata] lock-version = "2.0" python-versions = "^3.9" -content-hash = "8602fbffef20bd268ccaba769d4583acab1c718683fdecb04d73230ab93ae917" +content-hash = "398e984dab5d23086903e58ce7b0be7989b8ab0e8cf55a0678cf54d6a8d44aee" diff --git a/pyproject.toml b/pyproject.toml index 9feaa6d8..8cb4824b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -38,7 +38,7 @@ requests = "^2.31.0" websockets = "~10" [tool.poetry.dev-dependencies] -black = "^22.8.0" +black = "^24.3.0" isort = "^5.7.0" flake8 = "^3.8.4" pytest = "^7.2.0" From bf4ceb27c17f177a87fcdcbbaae1ee4dce027ec2 Mon Sep 17 00:00:00 2001 From: Erik Harding Date: Thu, 21 Mar 2024 11:38:18 +0200 Subject: [PATCH 2/3] reformat with black --- vaccine/models.py | 8 +- vaccine/sacoronavirus_powerbi_request_body | 97 +++++++++++++++++++++- vaccine/tests/test_vaccine_reg_whatsapp.py | 18 ++-- vaccine/vaccine_eligibility.py | 4 +- yal/tests/test_askaquestion.py | 6 +- yal/tests/test_change_preferences.py | 6 +- yal/tests/test_main.py | 36 ++++---- yal/tests/test_onboarding.py | 6 +- 8 files changed, 138 insertions(+), 43 deletions(-) diff --git a/vaccine/models.py b/vaccine/models.py index 8d927bb5..da71559e 100644 --- a/vaccine/models.py +++ b/vaccine/models.py @@ -111,9 +111,11 @@ def reply(self, content, continue_session=True, **kw): if f in kw: raise TypeError(f"{f} my not be overridden") fields = { - "session_event": Message.SESSION_EVENT.NONE - if continue_session - else Message.SESSION_EVENT.CLOSE, + "session_event": ( + Message.SESSION_EVENT.NONE + if continue_session + else Message.SESSION_EVENT.CLOSE + ), "to_addr": self.from_addr, "from_addr": self.to_addr, "group": self.group, diff --git a/vaccine/sacoronavirus_powerbi_request_body b/vaccine/sacoronavirus_powerbi_request_body index ea45950b..1a4ffc1e 100644 --- a/vaccine/sacoronavirus_powerbi_request_body +++ b/vaccine/sacoronavirus_powerbi_request_body @@ -1 +1,96 @@ -{"version":"1.0.0","queries":[{"Query":{"Commands":[{"SemanticQueryDataShapeCommand":{"Query":{"Version":2,"From":[{"Name":"v","Entity":"Vaccinations Administered Measures","Type":0},{"Name":"r","Entity":"rtc za_covid19_province_vw","Type":0}],"Select":[{"Measure":{"Expression":{"SourceRef":{"Source":"v"}},"Property":"Total Vaccinations 1st & 2nd Dose & Booster Dose"},"Name":"Vaccinations Administered Measures.Total Vaccinations 1st & 2nd Dose & Booster Dose"}],"Where":[{"Condition":{"Not":{"Expression":{"In":{"Expressions":[{"Column":{"Expression":{"SourceRef":{"Source":"r"}},"Property":"province"}}],"Values":[[{"Literal":{"Value":"null"}}]]}}}}}]},"Binding":{"Primary":{"Groupings":[{"Projections":[0]}]},"DataReduction":{"DataVolume":3,"Primary":{"Top":{}}},"Version":1},"ExecutionMetricsKind":1}}]},"CacheKey":"{\"Commands\":[{\"SemanticQueryDataShapeCommand\":{\"Query\":{\"Version\":2,\"From\":[{\"Name\":\"v\",\"Entity\":\"Vaccinations Administered Measures\",\"Type\":0},{\"Name\":\"r\",\"Entity\":\"rtc za_covid19_province_vw\",\"Type\":0}],\"Select\":[{\"Measure\":{\"Expression\":{\"SourceRef\":{\"Source\":\"v\"}},\"Property\":\"Total Vaccinations 1st & 2nd Dose & Booster Dose\"},\"Name\":\"Vaccinations Administered Measures.Total Vaccinations 1st & 2nd Dose & Booster Dose\"}],\"Where\":[{\"Condition\":{\"Not\":{\"Expression\":{\"In\":{\"Expressions\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"r\"}},\"Property\":\"province\"}}],\"Values\":[[{\"Literal\":{\"Value\":\"null\"}}]]}}}}}]},\"Binding\":{\"Primary\":{\"Groupings\":[{\"Projections\":[0]}]},\"DataReduction\":{\"DataVolume\":3,\"Primary\":{\"Top\":{}}},\"Version\":1},\"ExecutionMetricsKind\":1}}]}","QueryId":"","ApplicationContext":{"DatasetId":"6f42ba54-a8f6-46a6-afab-bedcd3dd1563","Sources":[{"ReportId":"f31bda4b-2754-475d-ad4b-e7ae4e213621","VisualId":"0c0297dfa5cd0e11eed9"}]}}],"cancelQueries":[],"modelId":4449930} \ No newline at end of file +{ + "version": "1.0.0", + "queries": [ + { + "Query": { + "Commands": [ + { + "SemanticQueryDataShapeCommand": { + "Query": { + "Version": 2, + "From": [ + { + "Name": "v", + "Entity": "Vaccinations Administered Measures", + "Type": 0, + }, + { + "Name": "r", + "Entity": "rtc za_covid19_province_vw", + "Type": 0, + }, + ], + "Select": [ + { + "Measure": { + "Expression": { + "SourceRef": {"Source": "v"} + }, + "Property": "Total Vaccinations 1st & 2nd Dose & Booster Dose", + }, + "Name": "Vaccinations Administered Measures.Total Vaccinations 1st & 2nd Dose & Booster Dose", + } + ], + "Where": [ + { + "Condition": { + "Not": { + "Expression": { + "In": { + "Expressions": [ + { + "Column": { + "Expression": { + "SourceRef": { + "Source": "r" + } + }, + "Property": "province", + } + } + ], + "Values": [ + [ + { + "Literal": { + "Value": "null" + } + } + ] + ], + } + } + } + } + } + ], + }, + "Binding": { + "Primary": {"Groupings": [{"Projections": [0]}]}, + "DataReduction": { + "DataVolume": 3, + "Primary": {"Top": {}}, + }, + "Version": 1, + }, + "ExecutionMetricsKind": 1, + } + } + ] + }, + "CacheKey": '{"Commands":[{"SemanticQueryDataShapeCommand":{"Query":{"Version":2,"From":[{"Name":"v","Entity":"Vaccinations Administered Measures","Type":0},{"Name":"r","Entity":"rtc za_covid19_province_vw","Type":0}],"Select":[{"Measure":{"Expression":{"SourceRef":{"Source":"v"}},"Property":"Total Vaccinations 1st & 2nd Dose & Booster Dose"},"Name":"Vaccinations Administered Measures.Total Vaccinations 1st & 2nd Dose & Booster Dose"}],"Where":[{"Condition":{"Not":{"Expression":{"In":{"Expressions":[{"Column":{"Expression":{"SourceRef":{"Source":"r"}},"Property":"province"}}],"Values":[[{"Literal":{"Value":"null"}}]]}}}}}]},"Binding":{"Primary":{"Groupings":[{"Projections":[0]}]},"DataReduction":{"DataVolume":3,"Primary":{"Top":{}}},"Version":1},"ExecutionMetricsKind":1}}]}', + "QueryId": "", + "ApplicationContext": { + "DatasetId": "6f42ba54-a8f6-46a6-afab-bedcd3dd1563", + "Sources": [ + { + "ReportId": "f31bda4b-2754-475d-ad4b-e7ae4e213621", + "VisualId": "0c0297dfa5cd0e11eed9", + } + ], + }, + } + ], + "cancelQueries": [], + "modelId": 4449930, +} diff --git a/vaccine/tests/test_vaccine_reg_whatsapp.py b/vaccine/tests/test_vaccine_reg_whatsapp.py index bd9e2228..870ecf3b 100644 --- a/vaccine/tests/test_vaccine_reg_whatsapp.py +++ b/vaccine/tests/test_vaccine_reg_whatsapp.py @@ -46,20 +46,20 @@ def get_suburbs(request): url = config.EVDS_URL username = config.EVDS_USERNAME password = config.EVDS_PASSWORD - s_config.EVDS_URL = ( - m_config.EVDS_URL - ) = config.EVDS_URL = f"http://{server.host}:{server.port}" + s_config.EVDS_URL = m_config.EVDS_URL = config.EVDS_URL = ( + f"http://{server.host}:{server.port}" + ) s_config.EVDS_USERNAME = m_config.EVDS_USERNAME = config.EVDS_USERNAME = "test" s_config.EVDS_PASSWORD = m_config.EVDS_PASSWORD = config.EVDS_PASSWORD = "test" server.tstate = tstate yield server s_config.EVDS_URL = m_config.EVDS_URL = config.EVDS_URL = url - s_config.EVDS_USERNAME = ( - m_config.EVDS_USERNAME - ) = config.EVDS_USERNAME = username - s_config.EVDS_PASSWORD = ( - m_config.EVDS_PASSWORD - ) = config.EVDS_PASSWORD = password + s_config.EVDS_USERNAME = m_config.EVDS_USERNAME = config.EVDS_USERNAME = ( + username + ) + s_config.EVDS_PASSWORD = m_config.EVDS_PASSWORD = config.EVDS_PASSWORD = ( + password + ) @pytest.fixture diff --git a/vaccine/vaccine_eligibility.py b/vaccine/vaccine_eligibility.py index 9d38b8a8..fef24bfe 100644 --- a/vaccine/vaccine_eligibility.py +++ b/vaccine/vaccine_eligibility.py @@ -128,9 +128,7 @@ async def check_age(content: Optional[str]): return FreeText( self, - question="\n".join( - ["◼️◼️◼️◻️◻️", "", "How old are you? (Reply with a number)"] - ), + question="\n".join(["◼️◼️◼️◻️◻️", "", "How old are you? (Reply with a number)"]), next="state_location", check=check_age, ) diff --git a/yal/tests/test_askaquestion.py b/yal/tests/test_askaquestion.py index e9230786..6501282b 100644 --- a/yal/tests/test_askaquestion.py +++ b/yal/tests/test_askaquestion.py @@ -20,9 +20,9 @@ def tester(): def get_rapidpro_contact(urn): return { "fields": { - "feedback_type": "ask_a_question" - if ("27820001001" in urn) - else "ask_a_question_2", + "feedback_type": ( + "ask_a_question" if ("27820001001" in urn) else "ask_a_question_2" + ), "feedback_sent": "TRUE", }, } diff --git a/yal/tests/test_change_preferences.py b/yal/tests/test_change_preferences.py index edbe29a7..aeea8ee8 100644 --- a/yal/tests/test_change_preferences.py +++ b/yal/tests/test_change_preferences.py @@ -755,9 +755,9 @@ async def test_state_update_location_confirm_incorrect( async def test_state_update_location_submit(tester: AppTester, rapidpro_mock): tester.user.metadata["new_latitude"] = 56.78 tester.user.metadata["new_longitude"] = 12.34 - tester.user.metadata[ - "new_location_description" - ] = "277 Bedford Avenue, Brooklyn, NY" + tester.user.metadata["new_location_description"] = ( + "277 Bedford Avenue, Brooklyn, NY" + ) tester.setup_state("state_update_location_confirm") await tester.user_input("yes") diff --git a/yal/tests/test_main.py b/yal/tests/test_main.py index 312bac46..33d43002 100644 --- a/yal/tests/test_main.py +++ b/yal/tests/test_main.py @@ -450,9 +450,9 @@ async def test_state_start_to_mainmenu( rapidpro_mock.tstate.contact_fields["terms_accepted"] = "TRUE" rapidpro_mock.tstate.contact_fields["latitude"] = "-26.2031026" rapidpro_mock.tstate.contact_fields["longitude"] = "28.0251783" - rapidpro_mock.tstate.contact_fields[ - "location_description" - ] = "99 high level, cape town, FS" + rapidpro_mock.tstate.contact_fields["location_description"] = ( + "99 high level, cape town, FS" + ) await tester.user_input("hi") tester.assert_state("state_mainmenu") tester.assert_num_messages(2) @@ -506,9 +506,9 @@ async def test_assessment_reminder_keywords( rapidpro_mock.tstate.contact_fields["onboarding_completed"] = True rapidpro_mock.tstate.contact_fields["terms_accepted"] = True rapidpro_mock.tstate.contact_fields["assessment_reminder_sent"] = True - rapidpro_mock.tstate.contact_fields[ - "assessment_reminder_name" - ] = "locus_of_control_endline" + rapidpro_mock.tstate.contact_fields["assessment_reminder_name"] = ( + "locus_of_control_endline" + ) await tester.user_input("continue now") tester.assert_state("state_relationship_status_endline") @@ -1070,9 +1070,9 @@ async def test_aaq_timeout_response_to_handler( ): rapidpro_mock.tstate.contact_fields["feedback_survey_sent"] = "TRUE" rapidpro_mock.tstate.contact_fields["feedback_type"] = "ask_a_question_2" - rapidpro_mock.tstate.contact_fields[ - "feedback_timestamp" - ] = get_current_datetime().isoformat() + rapidpro_mock.tstate.contact_fields["feedback_timestamp"] = ( + get_current_datetime().isoformat() + ) tester.user.metadata["inbound_id"] = "inbound-id" tester.user.metadata["feedback_secret_key"] = "feedback-secret-key" tester.user.metadata["faq_id"] = "1" @@ -1107,9 +1107,9 @@ async def test_content_feedback_response(tester: AppTester, rapidpro_mock): If this is in response to a content feedback push message, then it should be handled by the content feedback state """ - rapidpro_mock.tstate.contact_fields[ - "feedback_timestamp" - ] = get_current_datetime().isoformat() + rapidpro_mock.tstate.contact_fields["feedback_timestamp"] = ( + get_current_datetime().isoformat() + ) rapidpro_mock.tstate.contact_fields["feedback_type"] = "content" rapidpro_mock.tstate.contact_fields["feedback_survey_sent"] = "TRUE" await tester.user_input("1") @@ -1126,9 +1126,9 @@ async def test_facebook_crossover_feedback_response(tester: AppTester, rapidpro_ by the fb feedback state """ # Test session resume - rapidpro_mock.tstate.contact_fields[ - "feedback_timestamp" - ] = get_current_datetime().isoformat() + rapidpro_mock.tstate.contact_fields["feedback_timestamp"] = ( + get_current_datetime().isoformat() + ) rapidpro_mock.tstate.contact_fields["feedback_type"] = "facebook_banner" rapidpro_mock.tstate.contact_fields["feedback_survey_sent"] = "TRUE" await tester.user_input("yes, I did") @@ -1145,9 +1145,9 @@ async def test_servicefinder_feedback_response(tester: AppTester, rapidpro_mock) handled by the servicefinder feedback application """ rapidpro_mock.tstate.contact_fields["feedback_type"] = "servicefinder" - rapidpro_mock.tstate.contact_fields[ - "feedback_timestamp" - ] = get_current_datetime().isoformat() + rapidpro_mock.tstate.contact_fields["feedback_timestamp"] = ( + get_current_datetime().isoformat() + ) rapidpro_mock.tstate.contact_fields["feedback_survey_sent"] = "TRUE" # test new session await tester.user_input("yes, thanks", session=Message.SESSION_EVENT.NEW) diff --git a/yal/tests/test_onboarding.py b/yal/tests/test_onboarding.py index adb8fa82..5493eec5 100644 --- a/yal/tests/test_onboarding.py +++ b/yal/tests/test_onboarding.py @@ -546,9 +546,9 @@ async def test_assessment_complete(tester: AppTester, rapidpro_mock): """ Start pushmessage optin flow after assessment """ - tester.user.metadata[ - "assessment_end_state" - ] = "state_locus_of_control_assessment_end" + tester.user.metadata["assessment_end_state"] = ( + "state_locus_of_control_assessment_end" + ) tester.user.metadata["assessment_section"] = 2 tester.setup_state("state_survey_question") await tester.user_input(session=Message.SESSION_EVENT.NEW) From 1c8b8d7a5e26969f69fbade9b3880ff7c09f8450 Mon Sep 17 00:00:00 2001 From: Erik Harding Date: Thu, 21 Mar 2024 13:39:29 +0200 Subject: [PATCH 3/3] fix special char line limit --- vaccine/vaccine_eligibility.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/vaccine/vaccine_eligibility.py b/vaccine/vaccine_eligibility.py index fef24bfe..01224578 100644 --- a/vaccine/vaccine_eligibility.py +++ b/vaccine/vaccine_eligibility.py @@ -126,9 +126,12 @@ async def check_age(content: Optional[str]): except (ValueError, TypeError, AssertionError): raise ErrorMessage("⚠️ Reply using numbers only. Example *27*") + progress_bar = "◼️◼️◼️◻️◻️" return FreeText( self, - question="\n".join(["◼️◼️◼️◻️◻️", "", "How old are you? (Reply with a number)"]), + question="\n".join( + [progress_bar, "", "How old are you? (Reply with a number)"] + ), next="state_location", check=check_age, )