fractal-server 2.0.2__py3-none-any.whl → 2.0.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- __VERSION__ = "2.0.2"
1
+ __VERSION__ = "2.0.3"
@@ -0,0 +1,79 @@
1
+ import logging
2
+
3
+ from packaging.version import parse
4
+ from sqlalchemy import select
5
+ from sqlalchemy.orm.attributes import flag_modified
6
+
7
+ import fractal_server
8
+ from fractal_server.app.db import get_sync_db
9
+ from fractal_server.app.models.v1 import ApplyWorkflow
10
+ from fractal_server.app.models.v2 import JobV2
11
+ from fractal_server.app.schemas.v1 import ApplyWorkflowReadV1
12
+ from fractal_server.app.schemas.v2 import JobReadV2
13
+
14
+
15
+ def fix_db():
16
+ logger = logging.getLogger("fix_db")
17
+ logger.warning("START execution of fix_db function")
18
+
19
+ # Check that this module matches with the current version
20
+ module_version = parse("2.0.3")
21
+ current_version = parse(fractal_server.__VERSION__)
22
+ if (
23
+ current_version.major != module_version.major
24
+ or current_version.minor != module_version.minor
25
+ or current_version.micro != module_version.micro
26
+ ):
27
+ raise RuntimeError(
28
+ f"{fractal_server.__VERSION__=} not matching with {__file__=}"
29
+ )
30
+
31
+ with next(get_sync_db()) as db:
32
+
33
+ # V1 jobs
34
+ stm = select(ApplyWorkflow)
35
+ jobs_v1 = db.execute(stm).scalars().all()
36
+ for job_v1 in sorted(jobs_v1, key=lambda x: x.id):
37
+ for KEY in ["history"]:
38
+ logger.warning(
39
+ f"Now removing {KEY} from `input/output_dataset_dump`, "
40
+ f"for appplyworkflow.id={job_v1.id}."
41
+ )
42
+ if KEY in job_v1.input_dataset_dump.keys():
43
+ job_v1.input_dataset_dump.pop(KEY)
44
+ if KEY in job_v1.output_dataset_dump.keys():
45
+ job_v1.output_dataset_dump.pop(KEY)
46
+ flag_modified(job_v1, "input_dataset_dump")
47
+ flag_modified(job_v1, "output_dataset_dump")
48
+ db.add(job_v1)
49
+ db.commit()
50
+ db.refresh(job_v1)
51
+ db.expunge(job_v1)
52
+ logger.warning(
53
+ f"Now validating applyworkflow.id={job_v1.id} with "
54
+ "ApplyWorkflowReadV1."
55
+ )
56
+ ApplyWorkflowReadV1(**job_v1.model_dump())
57
+
58
+ # V2 jobs
59
+ stm = select(JobV2)
60
+ jobs_v2 = db.execute(stm).scalars().all()
61
+ for job_v2 in sorted(jobs_v2, key=lambda x: x.id):
62
+ for KEY in ["history", "images"]:
63
+ logger.warning(
64
+ f"Now removing {KEY} from `dataset_dump`, "
65
+ f"for jobv2.id={job_v2.id}."
66
+ )
67
+ if KEY in job_v2.dataset_dump.keys():
68
+ job_v2.dataset_dump.pop(KEY)
69
+ flag_modified(job_v2, "dataset_dump")
70
+ db.add(job_v2)
71
+ db.commit()
72
+ db.refresh(job_v2)
73
+ db.expunge(job_v2)
74
+ logger.warning(
75
+ f"Now validating jobv2.id={job_v2.id} with JobReadV2."
76
+ )
77
+ JobReadV2(**job_v2.model_dump())
78
+
79
+ logger.warning("END of execution of fix_db function")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fractal-server
3
- Version: 2.0.2
3
+ Version: 2.0.3
4
4
  Summary: Server component of the Fractal analytics platform
5
5
  Home-page: https://github.com/fractal-analytics-platform/fractal-server
6
6
  License: BSD-3-Clause
@@ -1,4 +1,4 @@
1
- fractal_server/__init__.py,sha256=gs_vt2BGew5iMLZDjM9dN_UiSCo9swvJzExXe0z6N7w,22
1
+ fractal_server/__init__.py,sha256=y8qIfi3XJXZnIlvcM-yGdSqRCMQ2ceId2VN0yHXJBAI,22
2
2
  fractal_server/__main__.py,sha256=CocbzZooX1UtGqPi55GcHGNxnrJXFg5tUU5b3wyFCyo,4958
3
3
  fractal_server/alembic.ini,sha256=MWwi7GzjzawI9cCAK1LW7NxIBQDUqD12-ptJoq5JpP0,3153
4
4
  fractal_server/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -122,6 +122,7 @@ fractal_server/app/schemas/v2/workflow.py,sha256=Zzx3e-qgkH8le0FUmAx9UrV5PWd7bj1
122
122
  fractal_server/app/schemas/v2/workflowtask.py,sha256=atVuVN4aXsVEOmSd-vyg-8_8OnPmqx-gT75rXcn_AlQ,6552
123
123
  fractal_server/app/security/__init__.py,sha256=wxosoHc3mJYPCdPMyWnRD8w_2OgnKYp2aDkdmwrZh5k,11203
124
124
  fractal_server/config.py,sha256=2vw5M78aAogELsWut9X5sxxUz2lirNFpgqP6OynmKOQ,14859
125
+ fractal_server/data_migrations/2_0_3.py,sha256=7EhwLCZTk1yHD_dlU-HIf2uvx6jUIgfDaA5np27QEEM,2918
125
126
  fractal_server/data_migrations/README.md,sha256=_3AEFvDg9YkybDqCLlFPdDmGJvr6Tw7HRI14aZ3LOIw,398
126
127
  fractal_server/images/__init__.py,sha256=xO6jTLE4EZKO6cTDdJsBmK9cdeh9hFTaSbSuWgQg7y4,196
127
128
  fractal_server/images/models.py,sha256=9ipU5h4N6ogBChoB-2vHoqtL0TXOHCv6kRR-fER3mkM,4167
@@ -162,8 +163,8 @@ fractal_server/tasks/v2/background_operations.py,sha256=MAMBn6W2bhkdK59kfUGiD7a1
162
163
  fractal_server/tasks/v2/get_collection_data.py,sha256=Qhf2T_aaqAfqu9_KpUSlXsS7EJoZQbEPEreHHa2jco8,502
163
164
  fractal_server/urls.py,sha256=5o_qq7PzKKbwq12NHSQZDmDitn5RAOeQ4xufu-2v9Zk,448
164
165
  fractal_server/utils.py,sha256=b7WwFdcFZ8unyT65mloFToYuEDXpQoHRcmRNqrhd_dQ,2115
165
- fractal_server-2.0.2.dist-info/LICENSE,sha256=QKAharUuhxL58kSoLizKJeZE3mTCBnX6ucmz8W0lxlk,1576
166
- fractal_server-2.0.2.dist-info/METADATA,sha256=ykUREKoZndksb0goOo27hM14j41SvTljFa5P7eR9zTU,4202
167
- fractal_server-2.0.2.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
168
- fractal_server-2.0.2.dist-info/entry_points.txt,sha256=8tV2kynvFkjnhbtDnxAqImL6HMVKsopgGfew0DOp5UY,58
169
- fractal_server-2.0.2.dist-info/RECORD,,
166
+ fractal_server-2.0.3.dist-info/LICENSE,sha256=QKAharUuhxL58kSoLizKJeZE3mTCBnX6ucmz8W0lxlk,1576
167
+ fractal_server-2.0.3.dist-info/METADATA,sha256=DE7GliLouz0Eb5ar6MOL0eShI-bqrvx7jZi6RPavLtc,4202
168
+ fractal_server-2.0.3.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
169
+ fractal_server-2.0.3.dist-info/entry_points.txt,sha256=8tV2kynvFkjnhbtDnxAqImL6HMVKsopgGfew0DOp5UY,58
170
+ fractal_server-2.0.3.dist-info/RECORD,,