diff --git a/epdb/migrations/0025_auto_20260511_2025.py b/epdb/migrations/0025_auto_20260511_2025.py new file mode 100644 index 00000000..dd8afea9 --- /dev/null +++ b/epdb/migrations/0025_auto_20260511_2025.py @@ -0,0 +1,56 @@ +# Generated by Django 6.0.3 on 2026-05-11 20:25 + +from django.db import migrations +from envipy_additional_information import HalfLife, HalfLifeModel, HalfLifeWS + +MAPPING = { + "": HalfLifeModel.OTHER, + "HS-SFO": HalfLifeModel.HS_SFO, + "FOMC": HalfLifeModel.FOMC, + "FOTC": HalfLifeModel.DFOP, + "FMOC": HalfLifeModel.FOMC, + "DFOP": HalfLifeModel.DFOP, + "SFO + SFO": HalfLifeModel.SFO_SFO, + "FOMC-SFO": HalfLifeModel.FOMC_SFO, + "first order kinetics": HalfLifeModel.SFO, + "SFO²": HalfLifeModel.SFO, + "HS": HalfLifeModel.HS, + "top down": HalfLifeModel.OTHER, + "SFO": HalfLifeModel.SFO, + "First Order": HalfLifeModel.SFO, + "SFO/SFO": HalfLifeModel.SFO_SFO, + "FOMC + SFO": HalfLifeModel.FOMC_SFO, + "true": HalfLifeModel.SFO, + "SFO-SFO": HalfLifeModel.SFO_SFO, + "DFOP-SFO": HalfLifeModel.DFOP_SFO, +} + + +def forward_func(apps, schema_editor): + AdditionalInformation = apps.get_model("epdb", "AdditionalInformation") + + hls = AdditionalInformation.objects.filter(type="HalfLife") + + for hl in hls: + data = hl.data + data["model"] = MAPPING[data["model"]].value + hl.data = HalfLife(**data).model_dump(mode="json") + hl.save() + + hlws = AdditionalInformation.objects.filter(type="HalfLifeWS") + + for hl in hlws: + data = hl.data + data["model"] = MAPPING[data["model"]].value + hl.data = HalfLifeWS(**data).model_dump(mode="json") + hl.save() + + +class Migration(migrations.Migration): + dependencies = [ + ("epdb", "0024_user_contacted"), + ] + + operations = [ + migrations.RunPython(forward_func, reverse_code=migrations.RunPython.noop), + ] diff --git a/utilities/legacy.py b/utilities/legacy.py index 0d5bda5f..023f256f 100644 --- a/utilities/legacy.py +++ b/utilities/legacy.py @@ -64,7 +64,7 @@ import logging -from envipy_additional_information import HalfLife, HalfLifeWS +from envipy_additional_information import HalfLife, HalfLifeWS, HalfLifeModel from envipy_additional_information.information import Interval from envipy_additional_information.parsers import ( AcidityParser, @@ -473,17 +473,12 @@ def build_additional_information_from_request(request, type_): comment = get_parameter_or_empty_string(request, "comment") source = get_parameter_or_empty_string(request, "source") - first_order = get_parameter_or_empty_string(request, "firstOrder") + # first_order = get_parameter_or_empty_string(request, "firstOrder") model = get_parameter_or_empty_string(request, "model") fit = get_parameter_or_empty_string(request, "fit") - if first_order != "": - if model != "": - raise ValueError("not both, model and firstOrder can be set!") - if first_order == "true": - model = "SFO" - else: - logger.info("firstOrder is set to false which is not meaningful") + if model: + model = HalfLifeModel(model.upper()) return HalfLife(model=model, fit=fit, comment=comment, dt50=i, source=source) @@ -508,6 +503,10 @@ def build_additional_information_from_request(request, type_): comment_ws = get_parameter_or_empty_string(request, "comment_ws") source_ws = get_parameter_or_empty_string(request, "source_ws") model_ws = get_parameter_or_empty_string(request, "model_ws") + + if model_ws: + model_ws = HalfLifeModel(model_ws.upper()) + fit_ws = get_parameter_or_empty_string(request, "fit_ws") dt50_total = IntervalParser.from_string(hl_ws_total) diff --git a/uv.lock b/uv.lock index 2a348372..ba790259 100644 --- a/uv.lock +++ b/uv.lock @@ -894,7 +894,7 @@ provides-extras = ["ms-login", "dev", "pepper-plugin"] [[package]] name = "envipy-additional-information" version = "0.4.2" -source = { git = "ssh://git@git.envipath.com/enviPath/enviPy-additional-information.git?branch=develop#0a608c85c73a6ef5c38afea87d2b57fb43f01a70" } +source = { git = "ssh://git@git.envipath.com/enviPath/enviPy-additional-information.git?branch=develop#676dae1c5678539beac637b87e49b9dadfdfd85a" } dependencies = [ { name = "pydantic" }, ] @@ -2763,9 +2763,9 @@ dependencies = [ { name = "typing-extensions", marker = "sys_platform != 'linux' and sys_platform != 'win32'" }, ] wheels = [ - { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0-cp312-none-macosx_11_0_arm64.whl", hash = "sha256:a47b7986bee3f61ad217d8a8ce24605809ab425baf349f97de758815edd2ef54" }, - { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:fbe2e149c5174ef90d29a5f84a554dfaf28e003cb4f61fa2c8c024c17ec7ca58" }, - { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0-cp313-none-macosx_11_0_arm64.whl", hash = "sha256:057efd30a6778d2ee5e2374cd63a63f63311aa6f33321e627c655df60abdd390" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0-cp312-none-macosx_11_0_arm64.whl", hash = "sha256:a47b7986bee3f61ad217d8a8ce24605809ab425baf349f97de758815edd2ef54", upload-time = "2025-10-01T23:35:50Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:fbe2e149c5174ef90d29a5f84a554dfaf28e003cb4f61fa2c8c024c17ec7ca58", upload-time = "2025-10-01T23:35:52Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0-cp313-none-macosx_11_0_arm64.whl", hash = "sha256:057efd30a6778d2ee5e2374cd63a63f63311aa6f33321e627c655df60abdd390", upload-time = "2025-10-01T23:35:55Z" }, ] [[package]] @@ -2785,19 +2785,19 @@ dependencies = [ { name = "typing-extensions", marker = "sys_platform == 'linux' or sys_platform == 'win32'" }, ] wheels = [ - { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp312-cp312-linux_s390x.whl", hash = "sha256:0e34e276722ab7dd0dffa9e12fe2135a9b34a0e300c456ed7ad6430229404eb5" }, - { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:610f600c102386e581327d5efc18c0d6edecb9820b4140d26163354a99cd800d" }, - { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:cb9a8ba8137ab24e36bf1742cb79a1294bd374db570f09fc15a5e1318160db4e" }, - { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp312-cp312-win_amd64.whl", hash = "sha256:2be20b2c05a0cce10430cc25f32b689259640d273232b2de357c35729132256d" }, - { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp312-cp312-win_arm64.whl", hash = "sha256:99fc421a5d234580e45957a7b02effbf3e1c884a5dd077afc85352c77bf41434" }, - { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp313-cp313-linux_s390x.whl", hash = "sha256:8b5882276633cf91fe3d2d7246c743b94d44a7e660b27f1308007fdb1bb89f7d" }, - { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:a5064b5e23772c8d164068cc7c12e01a75faf7b948ecd95a0d4007d7487e5f25" }, - { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:8f81dedb4c6076ec325acc3b47525f9c550e5284a18eae1d9061c543f7b6e7de" }, - { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp313-cp313-win_amd64.whl", hash = "sha256:e1ee1b2346ade3ea90306dfbec7e8ff17bc220d344109d189ae09078333b0856" }, - { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp313-cp313-win_arm64.whl", hash = "sha256:64c187345509f2b1bb334feed4666e2c781ca381874bde589182f81247e61f88" }, - { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:af81283ac671f434b1b25c95ba295f270e72db1fad48831eb5e4748ff9840041" }, - { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:a9dbb6f64f63258bc811e2c0c99640a81e5af93c531ad96e95c5ec777ea46dab" }, - { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp313-cp313t-win_amd64.whl", hash = "sha256:6d93a7165419bc4b2b907e859ccab0dea5deeab261448ae9a5ec5431f14c0e64" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp312-cp312-linux_s390x.whl", hash = "sha256:0e34e276722ab7dd0dffa9e12fe2135a9b34a0e300c456ed7ad6430229404eb5", upload-time = "2025-10-01T23:33:41Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:610f600c102386e581327d5efc18c0d6edecb9820b4140d26163354a99cd800d", upload-time = "2025-10-01T23:33:45Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:cb9a8ba8137ab24e36bf1742cb79a1294bd374db570f09fc15a5e1318160db4e", upload-time = "2025-10-01T23:33:48Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp312-cp312-win_amd64.whl", hash = "sha256:2be20b2c05a0cce10430cc25f32b689259640d273232b2de357c35729132256d", upload-time = "2025-10-01T23:33:52Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp312-cp312-win_arm64.whl", hash = "sha256:99fc421a5d234580e45957a7b02effbf3e1c884a5dd077afc85352c77bf41434", upload-time = "2025-10-01T23:34:10Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp313-cp313-linux_s390x.whl", hash = "sha256:8b5882276633cf91fe3d2d7246c743b94d44a7e660b27f1308007fdb1bb89f7d", upload-time = "2025-10-01T23:34:15Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:a5064b5e23772c8d164068cc7c12e01a75faf7b948ecd95a0d4007d7487e5f25", upload-time = "2025-10-01T23:34:19Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:8f81dedb4c6076ec325acc3b47525f9c550e5284a18eae1d9061c543f7b6e7de", upload-time = "2025-10-01T23:34:23Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp313-cp313-win_amd64.whl", hash = "sha256:e1ee1b2346ade3ea90306dfbec7e8ff17bc220d344109d189ae09078333b0856", upload-time = "2025-10-01T23:34:28Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp313-cp313-win_arm64.whl", hash = "sha256:64c187345509f2b1bb334feed4666e2c781ca381874bde589182f81247e61f88", upload-time = "2025-10-01T23:34:45Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:af81283ac671f434b1b25c95ba295f270e72db1fad48831eb5e4748ff9840041", upload-time = "2025-10-01T23:34:50Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:a9dbb6f64f63258bc811e2c0c99640a81e5af93c531ad96e95c5ec777ea46dab", upload-time = "2025-10-01T23:34:53Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp313-cp313t-win_amd64.whl", hash = "sha256:6d93a7165419bc4b2b907e859ccab0dea5deeab261448ae9a5ec5431f14c0e64", upload-time = "2025-10-01T23:34:58Z" }, ] [[package]]