nci-cidc-api-modules 1.1.2__py3-none-any.whl → 1.1.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.
@@ -460,10 +460,10 @@ def insert_manifest_into_blob(
460
460
  if errs:
461
461
  raise RuntimeError({"prism errors": [str(e) for e in errs]})
462
462
 
463
- # save it
464
- trial_md.update(changes={"metadata_json": merged}, commit=False, session=session)
463
+ # save it, will get rolled back if in a dry run
464
+ trial_md.update(changes={"metadata_json": merged}, session=session)
465
465
 
466
- # create pseudo-UploadJobs
466
+ # create pseudo-UploadJobs that will get rolled back if in a dry run
467
467
  UploadJobs(
468
468
  trial_id=trial_id,
469
469
  _status=UploadJobStatus.MERGE_COMPLETED.value,
@@ -471,7 +471,7 @@ def insert_manifest_into_blob(
471
471
  metadata_patch=patch,
472
472
  upload_type=_get_upload_type(csms_samples),
473
473
  uploader_email=uploader_email,
474
- ).insert(commit=False, session=session)
474
+ ).insert(session=session)
475
475
 
476
476
  if dry_run:
477
477
  session.flush()
cidc_api/models/models.py CHANGED
@@ -1433,9 +1433,8 @@ class TrialMetadata(CommonColumns):
1433
1433
  a dictionary mapping column names to updated values. Skip JSON metadata validation
1434
1434
  if validate_metadata=False.
1435
1435
  """
1436
- # Since commit=False, this will only apply changes to the in-memory
1437
- # TrialMetadata instance, not the corresponding db record
1438
- super().update(session=session, changes=changes, commit=False)
1436
+ # This update will get rolled back if commit = False
1437
+ super().update(session=session, changes=changes)
1439
1438
 
1440
1439
  # metadata_json was possibly updated in above method call,
1441
1440
  # so check that it's still valid if validate_metadata=True
@@ -1444,6 +1443,8 @@ class TrialMetadata(CommonColumns):
1444
1443
 
1445
1444
  if commit:
1446
1445
  session.commit()
1446
+ else:
1447
+ session.rollback()
1447
1448
 
1448
1449
  @classmethod
1449
1450
  def build_trial_filter(cls, user: Users, trial_ids: List[str] = None):
@@ -3270,4 +3271,4 @@ def result_proxy_to_models(
3270
3271
  result_proxy: ResultProxy, model: BaseModel
3271
3272
  ) -> List[BaseModel]:
3272
3273
  """Materialize a sqlalchemy `result_proxy` iterable as a list of `model` instances"""
3273
- return [model(**dict(row_proxy.items())) for row_proxy in result_proxy]
3274
+ return [model(**dict(row_proxy)) for row_proxy in result_proxy.all()]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: nci_cidc_api_modules
3
- Version: 1.1.2
3
+ Version: 1.1.3
4
4
  Summary: SQLAlchemy data models and configuration tools used in the NCI CIDC API
5
5
  Home-page: https://github.com/NCI-CIDC/cidc-api-gae
6
6
  License: MIT license
@@ -8,10 +8,10 @@ Requires-Python: >=3.9
8
8
  Description-Content-Type: text/markdown
9
9
  License-File: LICENSE
10
10
  Requires-Dist: werkzeug==3.0.6
11
- Requires-Dist: flask==2.2.5
12
- Requires-Dist: flask-migrate==2.5.2
13
- Requires-Dist: flask-sqlalchemy==2.5.1
14
- Requires-Dist: sqlalchemy~=1.3.0
11
+ Requires-Dist: flask==3.0.3
12
+ Requires-Dist: flask-migrate==3.1.0
13
+ Requires-Dist: flask-sqlalchemy==3.0.2
14
+ Requires-Dist: sqlalchemy==1.4.54
15
15
  Requires-Dist: marshmallow==3.19.0
16
16
  Requires-Dist: marshmallow-sqlalchemy==0.22.3
17
17
  Requires-Dist: google-cloud-storage==2.18.0
@@ -6,9 +6,9 @@ cidc_api/config/settings.py,sha256=2VHOVWdN4yUCNYMob2gaWgH2-1_4sbuo46JEIVT_PCY,4
6
6
  cidc_api/csms/__init__.py,sha256=eJkY6rWNOAUBmSd4G1_U6h7i472druKEtBdVmgFZVPg,20
7
7
  cidc_api/csms/auth.py,sha256=25Yma2Kz3KLENAPSeBYacFuSZXng-EDgmgInKBsRyP0,3191
8
8
  cidc_api/models/__init__.py,sha256=bl445G8Zic9YbhZ8ZBni07wtBMhLJRMBA-JqjLxx2bw,66
9
- cidc_api/models/csms_api.py,sha256=U_JP6Z41G4hi48yNn9MAd70IYfBcm3AF3wHa31NdA78,31578
9
+ cidc_api/models/csms_api.py,sha256=k8QAE-uU6b8PvkFx_dBG-i224J-bUhM4KGwqZSq6Ua8,31630
10
10
  cidc_api/models/migrations.py,sha256=gp9vtkYbA9FFy2s-7woelAmsvQbJ41LO2_DY-YkFIrQ,11464
11
- cidc_api/models/models.py,sha256=ykt0aG8jMjDdHYw3iPnU3laOaOZloHLf3ep6BeYM2cI,126732
11
+ cidc_api/models/models.py,sha256=kszT6ApBOIDsRJRHiYQvWo8283Jox_x0nPuetXBeK74,126680
12
12
  cidc_api/models/schemas.py,sha256=7tDYtmULuzTt2kg7RorWhte06ffalgpQKrFiDRGcPEQ,2711
13
13
  cidc_api/models/files/__init__.py,sha256=8BMTnUSHzUbz0lBeEQY6NvApxDD3GMWMduoVMos2g4Y,213
14
14
  cidc_api/models/files/details.py,sha256=h6R0p_hi-ukHsO7HV-3Wukccp0zRLJ1Oie_JNA_7Pl0,62274
@@ -19,8 +19,8 @@ cidc_api/shared/emails.py,sha256=TXKrga3A8rvaUKIH68ASmjkg9qMdFCWDf5HHxPvro5M,489
19
19
  cidc_api/shared/gcloud_client.py,sha256=7dDs0crLMJKdIp4IDSfrZBMB3h-zvWNieB81azoeLO4,33746
20
20
  cidc_api/shared/jose.py,sha256=QO30uIhbYDwzPEWWJXz0PfyV7E1AZHReEZJUVT70UJY,1844
21
21
  cidc_api/shared/rest_utils.py,sha256=LMfBpvJRjkfQjCzVXuhTTe4Foz4wlvaKg6QntyR-Hkc,6648
22
- nci_cidc_api_modules-1.1.2.dist-info/LICENSE,sha256=pNYWVTHaYonnmJyplmeAp7tQAjosmDpAWjb34jjv7Xs,1102
23
- nci_cidc_api_modules-1.1.2.dist-info/METADATA,sha256=Hma7qYjTas8rMWIIK1qCakAvR33LjGsj4ibv31CbgeI,40806
24
- nci_cidc_api_modules-1.1.2.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
25
- nci_cidc_api_modules-1.1.2.dist-info/top_level.txt,sha256=rNiRzL0lJGi5Q9tY9uSoMdTbJ-7u5c_D2E86KA94yRA,9
26
- nci_cidc_api_modules-1.1.2.dist-info/RECORD,,
22
+ nci_cidc_api_modules-1.1.3.dist-info/LICENSE,sha256=pNYWVTHaYonnmJyplmeAp7tQAjosmDpAWjb34jjv7Xs,1102
23
+ nci_cidc_api_modules-1.1.3.dist-info/METADATA,sha256=sePEUJbt_M0zOTBdkhMA5wAAs8D9masRfulJDmlVJzg,40807
24
+ nci_cidc_api_modules-1.1.3.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
25
+ nci_cidc_api_modules-1.1.3.dist-info/top_level.txt,sha256=rNiRzL0lJGi5Q9tY9uSoMdTbJ-7u5c_D2E86KA94yRA,9
26
+ nci_cidc_api_modules-1.1.3.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.0)
2
+ Generator: setuptools (75.8.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5