diff --git a/devsetup.sh b/devsetup.sh index 36c62982..6c652b6a 100755 --- a/devsetup.sh +++ b/devsetup.sh @@ -10,7 +10,7 @@ if [ ! -z "${FRAGDENSTAAT_DYLD_LIBRARY_PATH:-}" ]; then fi MAIN=fragdenstaat_de -REPOS=("froide" "froide-campaign" "froide-legalaction" "froide-food" "froide-payment" "froide-crowdfunding" "froide-govplan" "froide-fax" "froide-exam" "django-filingcabinet") +REPOS=("froide" "froide-campaign" "froide-legalaction" "froide-food" "froide-payment" "froide-crowdfunding" "froide-govplan" "froide-fax" "froide-exam" "django-filingcabinet" "froide-evidencecollection") FRONTEND=("froide" "froide_food" "froide_exam" "froide_campaign" "froide_payment" "froide_legalaction" "@okfde/filingcabinet") FRONTEND_DIR=("froide" "froide-food" "froide-exam" "froide-campaign" "froide-payment" "froide-legalaction" "django-filingcabinet") FROIDE_PEERS=("froide-campaign" "froide-food") # these have peer-dependencies on froide diff --git a/fragdenstaat_de/settings/base.py b/fragdenstaat_de/settings/base.py index 0710a63a..1d1405d9 100644 --- a/fragdenstaat_de/settings/base.py +++ b/fragdenstaat_de/settings/base.py @@ -98,6 +98,7 @@ def INSTALLED_APPS(self): "froide_fax.apps.FroideFaxConfig", "froide_exam", "froide_govplan.apps.FroideGovPlanConfig", + "froide_evidencecollection.apps.FroideEvidencecollectionConfig", "legal_advice_builder.apps.LegalAdviceBuilderConfig", "fcdocs_annotate.annotation.apps.AnnotationConfig", "tinymce", diff --git a/pyproject.toml b/pyproject.toml index b4eb86df..067da64a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -104,6 +104,7 @@ dependencies = [ "djangocms-transfer @ git+https://github.com/stefanw/djangocms-transfer.git", "django-legal-advice-builder @ git+https://github.com/fragdenstaat/django-legal-advice-builder.git@main", "fcdocs-annotate @ git+https://github.com/okfde/fcdocs-annotate.git@main", + "froide-evidencecollection[gsheets] @ git+https://github.com/okfde/froide-evidencecollection.git@main", ] [project.optional-dependencies] diff --git a/requirements-dev.txt b/requirements-dev.txt index 06a77a0d..9020dd4d 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -18,9 +18,7 @@ asgiref==3.8.1 # django # django-countries async-timeout==4.0.3 - # via - # fragdenstaat-de (pyproject.toml) - # aiohttp + # via fragdenstaat-de (pyproject.toml) attrs==24.2.0 # via # aiohttp @@ -45,6 +43,8 @@ bleach==6.1.0 # froide-govplan brotli==1.1.0 # via fonttools +cachetools==5.5.0 + # via google-auth celery==5.4.0 # via # fragdenstaat-de (pyproject.toml) @@ -213,6 +213,7 @@ django-cms==4.1.2 # djangocms-transfer # djangocms-versioning # djangocms-video + # froide-evidencecollection # froide-govplan # sortabletable django-configurations==2.5.1 @@ -418,8 +419,6 @@ enmerkar==0.7.1 # via django-prices et-xmlfile==1.1.0 # via openpyxl -exceptiongroup==1.2.2 - # via pytest factory-boy==3.3.1 # via # fragdenstaat-de (pyproject.toml) @@ -448,6 +447,8 @@ froide-campaign @ git+https://github.com/okfde/froide-campaign.git@55a8a36a2ec98 # via fragdenstaat-de (pyproject.toml) froide-crowdfunding @ git+https://github.com/okfde/froide-crowdfunding.git@dafeaab42b60563a465e044fa63a31183890299a # via fragdenstaat-de (pyproject.toml) +froide-evidencecollection @ git+https://github.com/okfde/froide-evidencecollection.git@c4efb5fb3b4b2ded7cb95f87fe384f368256eda1 + # via fragdenstaat-de (pyproject.toml) froide-exam @ git+https://github.com/okfde/froide-exam.git@170951539a16b1186621923b84906966d3557a6d # via fragdenstaat-de (pyproject.toml) froide-fax @ git+https://github.com/okfde/froide-fax.git@85bc5f542d60659b175e7cc2a86381f322c66a21 @@ -484,6 +485,24 @@ geopy==2.4.1 # via # django-amenities # froide-food +google-api-core==2.20.0 + # via google-api-python-client +google-api-python-client==2.146.0 + # via froide-evidencecollection +google-auth==2.35.0 + # via + # google-api-core + # google-api-python-client + # google-auth-httplib2 + # google-auth-oauthlib +google-auth-httplib2==0.2.0 + # via + # froide-evidencecollection + # google-api-python-client +google-auth-oauthlib==1.2.1 + # via froide-evidencecollection +googleapis-common-protos==1.65.0 + # via google-api-core greenlet==3.0.3 # via playwright honcho==1.1.0 @@ -500,6 +519,10 @@ html5lib==1.1 # weasyprint htmldocx==0.0.6 # via django-legal-advice-builder +httplib2==0.22.0 + # via + # google-api-python-client + # google-auth-httplib2 icalendar==5.0.13 # via # fragdenstaat-de (pyproject.toml) @@ -597,7 +620,9 @@ numpy==2.1.1 # torchvision # webp oauthlib==3.2.2 - # via django-oauth-toolkit + # via + # django-oauth-toolkit + # requests-oauthlib openpyxl==3.1.5 # via fragdenstaat-de (pyproject.toml) packaging==24.1 @@ -612,6 +637,8 @@ pandas==2.2.2 # via fragdenstaat-de (pyproject.toml) parso==0.8.4 # via jedi +pathlib2==2.3.7.post1 + # via pickleshare pathspec==0.12.1 # via djlint pbr==6.1.0 @@ -662,6 +689,13 @@ prompt-toolkit==3.0.47 # via # click-repl # ipython +proto-plus==1.24.0 + # via google-api-core +protobuf==5.28.2 + # via + # google-api-core + # googleapis-common-protos + # proto-plus psycopg==3.2.1 # via # fragdenstaat-de (pyproject.toml) @@ -672,7 +706,12 @@ psycopg-binary==3.2.1 ptyprocess==0.7.0 # via pexpect pyasn1==0.6.0 - # via pgpy + # via + # pgpy + # pyasn1-modules + # rsa +pyasn1-modules==0.4.1 + # via google-auth pycodestyle==2.12.1 # via fragdenstaat-de (pyproject.toml) pycparser==2.22 @@ -703,6 +742,8 @@ pyopenssl==24.2.1 # via fragdenstaat-de (pyproject.toml) pyotp==2.9.0 # via django-mfa3 +pyparsing==3.1.4 + # via httplib2 pypdf==4.3.1 # via # fragdenstaat-de (pyproject.toml) @@ -796,13 +837,19 @@ requests==2.32.3 # froide-payment # geocoder # geoip2 + # google-api-core # pytest-base-url + # requests-oauthlib # sphinx # stripe +requests-oauthlib==2.0.0 + # via google-auth-oauthlib rpds-py==0.20.0 # via # jsonschema # referencing +rsa==4.9 + # via google-auth sentry-sdk==2.14.0 # via fragdenstaat-de (pyproject.toml) setuptools==74.1.2 @@ -810,6 +857,7 @@ setuptools==74.1.2 # django-cms # geoip2 # ipython + # torch six==1.16.0 # via # bleach @@ -818,6 +866,7 @@ six==1.16.0 # geocoder # html5lib # jsbeautifier + # pathlib2 # python-dateutil snowballstemmer==2.2.0 # via sphinx @@ -862,12 +911,6 @@ tinycss2==1.3.0 # cssselect2 # svglib # weasyprint -tomli==2.0.2 - # via - # djlint - # ipdb - # pytest - # sphinx torch==2.4.1 # via # fragdenstaat-de (pyproject.toml) @@ -882,15 +925,12 @@ traitlets==5.14.3 # matplotlib-inline typing-extensions==4.12.2 # via - # asgiref # dj-database-url # django-countries # elasticsearch-dsl # jwcrypto - # multidict # psycopg # pyee - # pypdf # pytest-factoryboy # python-docx # torch @@ -905,6 +945,7 @@ uritemplate==4.1.1 # via # coreapi # drf-spectacular + # google-api-python-client urllib3==2.2.2 # via # elastic-transport diff --git a/requirements-production.txt b/requirements-production.txt index 4f0b9f55..54671424 100644 --- a/requirements-production.txt +++ b/requirements-production.txt @@ -15,10 +15,7 @@ asgiref==3.8.1 # django # django-countries async-timeout==4.0.3 - # via - # fragdenstaat-de (pyproject.toml) - # aiohttp - # redis + # via fragdenstaat-de (pyproject.toml) attrs==24.2.0 # via # aiohttp @@ -40,6 +37,8 @@ bleach==6.1.0 # froide-govplan brotli==1.1.0 # via fonttools +cachetools==5.5.0 + # via google-auth celery==5.4.0 # via # fragdenstaat-de (pyproject.toml) @@ -195,6 +194,7 @@ django-cms==4.1.2 # djangocms-transfer # djangocms-versioning # djangocms-video + # froide-evidencecollection # froide-govplan # sortabletable django-configurations==2.5.1 @@ -406,6 +406,8 @@ froide-campaign @ git+https://github.com/okfde/froide-campaign.git@55a8a36a2ec98 # via fragdenstaat-de (pyproject.toml) froide-crowdfunding @ git+https://github.com/okfde/froide-crowdfunding.git@dafeaab42b60563a465e044fa63a31183890299a # via fragdenstaat-de (pyproject.toml) +froide-evidencecollection @ git+https://github.com/okfde/froide-evidencecollection.git@c4efb5fb3b4b2ded7cb95f87fe384f368256eda1 + # via fragdenstaat-de (pyproject.toml) froide-exam @ git+https://github.com/okfde/froide-exam.git@170951539a16b1186621923b84906966d3557a6d # via fragdenstaat-de (pyproject.toml) froide-fax @ git+https://github.com/okfde/froide-fax.git@85bc5f542d60659b175e7cc2a86381f322c66a21 @@ -442,6 +444,24 @@ geopy==2.4.1 # via # django-amenities # froide-food +google-api-core==2.20.0 + # via google-api-python-client +google-api-python-client==2.146.0 + # via froide-evidencecollection +google-auth==2.35.0 + # via + # google-api-core + # google-api-python-client + # google-auth-httplib2 + # google-auth-oauthlib +google-auth-httplib2==0.2.0 + # via + # froide-evidencecollection + # google-api-python-client +google-auth-oauthlib==1.2.1 + # via froide-evidencecollection +googleapis-common-protos==1.65.0 + # via google-api-core gunicorn==23.0.0 # via fragdenstaat-de (pyproject.toml) h11==0.14.0 @@ -454,6 +474,10 @@ html5lib==1.1 # weasyprint htmldocx==0.0.6 # via django-legal-advice-builder +httplib2==0.22.0 + # via + # google-api-python-client + # google-auth-httplib2 icalendar==5.0.13 # via # fragdenstaat-de (pyproject.toml) @@ -524,7 +548,9 @@ numpy==2.1.1 # torchvision # webp oauthlib==3.2.2 - # via django-oauth-toolkit + # via + # django-oauth-toolkit + # requests-oauthlib openpyxl==3.1.5 # via fragdenstaat-de (pyproject.toml) packaging==24.1 @@ -569,6 +595,13 @@ prices==1.1.1 # froide-payment prompt-toolkit==3.0.47 # via click-repl +proto-plus==1.24.0 + # via google-api-core +protobuf==5.28.2 + # via + # google-api-core + # googleapis-common-protos + # proto-plus psycopg==3.2.1 # via # fragdenstaat-de (pyproject.toml) @@ -577,7 +610,12 @@ psycopg==3.2.1 psycopg-binary==3.2.1 # via psycopg pyasn1==0.6.0 - # via pgpy + # via + # pgpy + # pyasn1-modules + # rsa +pyasn1-modules==0.4.1 + # via google-auth pycparser==2.22 # via cffi pycryptodome==3.20.0 @@ -600,6 +638,8 @@ pyopenssl==24.2.1 # via fragdenstaat-de (pyproject.toml) pyotp==2.9.0 # via django-mfa3 +pyparsing==3.1.4 + # via httplib2 pypdf==4.3.1 # via # fragdenstaat-de (pyproject.toml) @@ -671,17 +711,24 @@ requests==2.32.3 # froide-payment # geocoder # geoip2 + # google-api-core + # requests-oauthlib # stripe +requests-oauthlib==2.0.0 + # via google-auth-oauthlib rpds-py==0.20.0 # via # jsonschema # referencing +rsa==4.9 + # via google-auth sentry-sdk==2.14.0 # via fragdenstaat-de (pyproject.toml) setuptools==74.1.2 # via # django-cms # geoip2 + # torch six==1.16.0 # via # bleach @@ -718,17 +765,13 @@ torchvision==0.19.1 # via fragdenstaat-de (pyproject.toml) typing-extensions==4.12.2 # via - # asgiref # dj-database-url # django-countries # elasticsearch-dsl # jwcrypto - # multidict # psycopg - # pypdf # python-docx # torch - # uvicorn tzdata==2024.1 # via # celery @@ -740,6 +783,7 @@ uritemplate==4.1.1 # via # coreapi # drf-spectacular + # google-api-python-client urllib3==2.2.2 # via # elastic-transport diff --git a/requirements.txt b/requirements.txt index 7d27714d..cf52fa07 100644 --- a/requirements.txt +++ b/requirements.txt @@ -14,9 +14,7 @@ asgiref==3.8.1 # django # django-countries async-timeout==4.0.3 - # via - # fragdenstaat-de (pyproject.toml) - # aiohttp + # via fragdenstaat-de (pyproject.toml) attrs==23.2.0 # via # aiohttp @@ -38,6 +36,8 @@ bleach==6.1.0 # froide-govplan brotli==1.1.0 # via fonttools +cachetools==5.5.0 + # via google-auth celery==5.4.0 # via # fragdenstaat-de (pyproject.toml) @@ -189,6 +189,7 @@ django-cms==4.1.2 # djangocms-transfer # djangocms-versioning # djangocms-video + # froide-evidencecollection # froide-govplan # sortabletable django-configurations==2.5.1 @@ -400,6 +401,8 @@ froide-campaign @ git+https://github.com/okfde/froide-campaign.git@55a8a36a2ec98 # via fragdenstaat-de (pyproject.toml) froide-crowdfunding @ git+https://github.com/okfde/froide-crowdfunding.git@dafeaab42b60563a465e044fa63a31183890299a # via fragdenstaat-de (pyproject.toml) +froide-evidencecollection @ git+https://github.com/okfde/froide-evidencecollection.git@c4efb5fb3b4b2ded7cb95f87fe384f368256eda1 + # via fragdenstaat-de (pyproject.toml) froide-exam @ git+https://github.com/okfde/froide-exam.git@170951539a16b1186621923b84906966d3557a6d # via fragdenstaat-de (pyproject.toml) froide-fax @ git+https://github.com/okfde/froide-fax.git@85bc5f542d60659b175e7cc2a86381f322c66a21 @@ -436,6 +439,24 @@ geopy==2.4.1 # via # django-amenities # froide-food +google-api-core==2.20.0 + # via google-api-python-client +google-api-python-client==2.146.0 + # via froide-evidencecollection +google-auth==2.35.0 + # via + # google-api-core + # google-api-python-client + # google-auth-httplib2 + # google-auth-oauthlib +google-auth-httplib2==0.2.0 + # via + # froide-evidencecollection + # google-api-python-client +google-auth-oauthlib==1.2.1 + # via froide-evidencecollection +googleapis-common-protos==1.65.0 + # via google-api-core html-text==0.6.2 # via fragdenstaat-de (pyproject.toml) html5lib==1.1 @@ -444,6 +465,10 @@ html5lib==1.1 # weasyprint htmldocx==0.0.6 # via django-legal-advice-builder +httplib2==0.22.0 + # via + # google-api-python-client + # google-auth-httplib2 icalendar==5.0.13 # via # fragdenstaat-de (pyproject.toml) @@ -512,7 +537,9 @@ numpy==2.1.1 # torchvision # webp oauthlib==3.2.2 - # via django-oauth-toolkit + # via + # django-oauth-toolkit + # requests-oauthlib openpyxl==3.1.5 # via fragdenstaat-de (pyproject.toml) packaging==24.1 @@ -554,6 +581,13 @@ prices==1.1.1 # froide-payment prompt-toolkit==3.0.47 # via click-repl +proto-plus==1.24.0 + # via google-api-core +protobuf==5.28.2 + # via + # google-api-core + # googleapis-common-protos + # proto-plus psycopg==3.2.1 # via # fragdenstaat-de (pyproject.toml) @@ -562,7 +596,12 @@ psycopg==3.2.1 psycopg-binary==3.2.1 # via psycopg pyasn1==0.6.0 - # via pgpy + # via + # pgpy + # pyasn1-modules + # rsa +pyasn1-modules==0.4.1 + # via google-auth pycparser==2.22 # via cffi pycryptodome==3.20.0 @@ -583,6 +622,8 @@ pyopenssl==24.2.1 # via fragdenstaat-de (pyproject.toml) pyotp==2.9.0 # via django-mfa3 +pyparsing==3.1.4 + # via httplib2 pypdf==4.3.1 # via # fragdenstaat-de (pyproject.toml) @@ -652,17 +693,24 @@ requests==2.32.3 # froide-payment # geocoder # geoip2 + # google-api-core + # requests-oauthlib # stripe +requests-oauthlib==2.0.0 + # via google-auth-oauthlib rpds-py==0.20.0 # via # jsonschema # referencing +rsa==4.9 + # via google-auth sentry-sdk==2.14.0 # via fragdenstaat-de (pyproject.toml) setuptools==74.1.2 # via # django-cms # geoip2 + # torch six==1.16.0 # via # bleach @@ -699,14 +747,11 @@ torchvision==0.19.1 # via fragdenstaat-de (pyproject.toml) typing-extensions==4.12.2 # via - # asgiref # dj-database-url # django-countries # elasticsearch-dsl # jwcrypto - # multidict # psycopg - # pypdf # python-docx # torch tzdata==2024.1 @@ -720,6 +765,7 @@ uritemplate==4.1.1 # via # coreapi # drf-spectacular + # google-api-python-client urllib3==2.2.2 # via # elastic-transport