Make invoke getfullargspec patch persistent

This commit is contained in:
Gabriel Augendre 2023-01-05 18:52:09 +01:00
parent d882a04cc5
commit 6afc339602
3 changed files with 48 additions and 2 deletions

View file

@ -13,3 +13,5 @@ invoke>=1.7.3
hypothesis>=6.56.4
django-browser-reload>=1.6.0
black>=22.12.0
pip-tools>=6.0
patchy>=2.0

View file

@ -48,6 +48,10 @@ bpython==0.23 \
--hash=sha256:72aab438052439ac89b471c4ee2a8fba6a0a082a51b0f70826e88cc0e7723298 \
--hash=sha256:9f0078abc887c48af088691e2f64797d6ca994ac0f4bc03c38d06f657d7c052a
# via -r requirements-dev.in
build==0.9.0 \
--hash=sha256:1a07724e891cbd898923145eb7752ee7653674c511378eb9c7691aab1612bc3c \
--hash=sha256:38a7a2b7a0bdc61a42a0a67509d88c71ecfc37b393baba770fae34e20929ff69
# via pip-tools
certifi==2022.12.7 \
--hash=sha256:35824b4c3a97115964b408844d64aa14db1cc518f6562e8d7261699d1350a9e3 \
--hash=sha256:4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18
@ -68,7 +72,9 @@ charset-normalizer==2.1.1 \
click==8.1.3 \
--hash=sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e \
--hash=sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48
# via black
# via
# black
# pip-tools
coverage[toml]==7.0.3 \
--hash=sha256:037b51ee86bc600f99b3b957c20a172431c35c2ef9c1ca34bc813ab5b51fd9f5 \
--hash=sha256:0bce4ad5bdd0b02e177a085d28d2cea5fc57bb4ba2cead395e763e34cf934eb1 \
@ -305,11 +311,29 @@ outcome==1.2.0 \
packaging==22.0 \
--hash=sha256:2198ec20bd4c017b8f9717e00f0c8714076fc2fd93816750ab48e2c41de2cfd3 \
--hash=sha256:957e2148ba0e1a3b282772e791ef1d8083648bc131c8ab0c1feba110ce1146c3
# via pytest
# via
# build
# pytest
patchy==2.6.0 \
--hash=sha256:542518fd8a4be4d8d2590be88a81170421e3d5afdbff1e49f95a0b8b0d345a39 \
--hash=sha256:8fb3400aa2c2e94dd95381731ab1d0af3b654f72417f39914858778502c4cc64
# via -r requirements-dev.in
pathspec==0.10.3 \
--hash=sha256:3c95343af8b756205e2aba76e843ba9520a24dd84f68c22b9f93251507509dd6 \
--hash=sha256:56200de4077d9d0791465aa9095a01d421861e405b5096955051deefd697d6f6
# via black
pep517==0.13.0 \
--hash=sha256:4ba4446d80aed5b5eac6509ade100bff3e7943a8489de249654a5ae9b33ee35b \
--hash=sha256:ae69927c5c172be1add9203726d4b84cf3ebad1edcd5f71fcdc746e66e829f59
# via build
pip==22.3.1 \
--hash=sha256:65fd48317359f3af8e593943e6ae1506b66325085ea64b706a998c6e83eeaf38 \
--hash=sha256:908c78e6bc29b676ede1c4d57981d490cb892eb45cd8c214ab6298125119e077
# via pip-tools
pip-tools==6.12.1 \
--hash=sha256:88efb7b29a923ffeac0713e6f23ef8529cc6175527d42b93f73756cc94387293 \
--hash=sha256:f0c0c0ec57b58250afce458e2e6058b1f30a4263db895b7d72fd6311bf1dc6f7
# via -r requirements-dev.in
platformdirs==2.6.2 \
--hash=sha256:83c8f6d04389165de7c9b6f0c682439697887bca0aa2f1c87ef1826be3584490 \
--hash=sha256:e1fea1fe471b9ff8332e229df3cb7de4f53eeea4998d3b6bfff542115e998bd2
@ -453,6 +477,7 @@ setuptools==65.6.3 \
# via
# -c constraints.txt
# nodeenv
# pip-tools
six==1.16.0 \
--hash=sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926 \
--hash=sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254
@ -516,6 +541,10 @@ wcwidth==0.2.5 \
--hash=sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784 \
--hash=sha256:c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83
# via blessed
wheel==0.38.4 \
--hash=sha256:965f5259b566725405b05e7cf774052044b1ed30119b5d586b2703aafe8719ac \
--hash=sha256:b60533f3f5d530e971d6737ca6d58681ee434818fab630c83a734bb10c083ce8
# via pip-tools
wsproto==1.2.0 \
--hash=sha256:ad565f26ecb92588a3e43bc3d96164de84cd9902482b130d0ddbaa9664a85065 \
--hash=sha256:b9acddd652b585d75b20477888c56642fdade28bdfd3579aa24a4d2c037dd736

View file

@ -1,9 +1,24 @@
import time
from pathlib import Path
import patchy
import requests
from invoke import task
patchy.patch(
"invoke.tasks.Task.argspec",
"""\
@@ -16,7 +16,7 @@
# TODO: __call__ exhibits the 'self' arg; do we manually nix 1st result
# in argspec, or is there a way to get the "really callable" spec?
func = body if isinstance(body, types.FunctionType) else body.__call__
- spec = inspect.getargspec(func)
+ spec = inspect.getfullargspec(func)
arg_names = spec.args[:]
matched_args = [reversed(x) for x in [spec.args, spec.defaults or []]]
spec_dict = dict(zip_longest(*matched_args, fillvalue=NO_DEFAULT))""",
)
BASE_DIR = Path(__file__).parent.resolve(strict=True)
SRC_DIR = BASE_DIR / "src"
COMPOSE_BUILD_FILE = BASE_DIR / "docker-compose-build.yaml"