nci-cidc-api-modules 1.2.20__py3-none-any.whl → 1.2.21__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.
@@ -0,0 +1,25 @@
1
+ from typing import Self
2
+
3
+ from sqlalchemy_mixins import SerializeMixin, ReprMixin
4
+
5
+ from cidc_api.config.db import db
6
+
7
+
8
+ class BaseORM(db.Model, ReprMixin, SerializeMixin):
9
+ __abstract__ = True
10
+ __repr__ = ReprMixin.__repr__
11
+
12
+ def merge(self, d: dict) -> Self:
13
+ """Merge keys and values from dict d into this model, overwriting as necessary."""
14
+ for key, value in d.items():
15
+ setattr(self, key, value)
16
+ return self
17
+
18
+ def clone(self) -> "BaseORM":
19
+ """Clones a SQLAlchemy ORM object, excluding primary keys."""
20
+ mapper = self.__mapper__
21
+ new_instance = self.__class__()
22
+ for column in mapper.columns:
23
+ if not column.primary_key:
24
+ setattr(new_instance, column.key, getattr(self, column.key))
25
+ return new_instance
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nci_cidc_api_modules
3
- Version: 1.2.20
3
+ Version: 1.2.21
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
@@ -9,6 +9,7 @@ cidc_api/models/migrations.py,sha256=UlS5How3J4ryaRuZT6F5VQtAKikkl0LTv9MgMO_ltiQ
9
9
  cidc_api/models/models.py,sha256=2ENATE2dbl93uaKSqveqAVuhv1SvxOkcw4pWDTolng0,148484
10
10
  cidc_api/models/schemas.py,sha256=6IE2dJoEMcMbi0Vr1V3cYKnPKU0hv9vRKBixOZHe88s,2766
11
11
  cidc_api/models/types.py,sha256=9dInLZ6gN39zhEe3xhBXyz2xVMr11CeE1-GCOmT_OjY,29928
12
+ cidc_api/models/db/base_orm.py,sha256=EV78qFBcOR7spK_PhjbkpsGcmcP33AQItX61SidDa_8,813
12
13
  cidc_api/models/files/__init__.py,sha256=8BMTnUSHzUbz0lBeEQY6NvApxDD3GMWMduoVMos2g4Y,213
13
14
  cidc_api/models/files/details.py,sha256=sZkGM7iEV4-J6IDQCdiMV6KBDLbPxCOqUMaU3aY9rX8,65153
14
15
  cidc_api/models/files/facets.py,sha256=BGx6FeQkK-ujCs-0Y8dUlba8uOmXgAqdY5u1EQqOnFM,33612
@@ -21,8 +22,8 @@ cidc_api/shared/gcloud_client.py,sha256=ovXGS2ynaBgB_23prj23H10GNN4fectiVF7Hj4LJ
21
22
  cidc_api/shared/jose.py,sha256=-qzGzEDAlokEp9E7WtBtQkXyyfPWTYXlwYpCqVJWmqM,1830
22
23
  cidc_api/shared/rest_utils.py,sha256=RwR30WOUAYCxL7V-i2totEyeriG30GbBDvBcpLXhM9w,6594
23
24
  cidc_api/shared/utils.py,sha256=FdZJiynmh6BIzWyCTcUAcUMKCAtzEyp_HLdXEticNcI,237
24
- nci_cidc_api_modules-1.2.20.dist-info/licenses/LICENSE,sha256=pNYWVTHaYonnmJyplmeAp7tQAjosmDpAWjb34jjv7Xs,1102
25
- nci_cidc_api_modules-1.2.20.dist-info/METADATA,sha256=Hwm9zDw1u4x_zfWr2hWV8D0WKQZBtRZ-7e0ifVXBt-o,39691
26
- nci_cidc_api_modules-1.2.20.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
27
- nci_cidc_api_modules-1.2.20.dist-info/top_level.txt,sha256=rNiRzL0lJGi5Q9tY9uSoMdTbJ-7u5c_D2E86KA94yRA,9
28
- nci_cidc_api_modules-1.2.20.dist-info/RECORD,,
25
+ nci_cidc_api_modules-1.2.21.dist-info/licenses/LICENSE,sha256=pNYWVTHaYonnmJyplmeAp7tQAjosmDpAWjb34jjv7Xs,1102
26
+ nci_cidc_api_modules-1.2.21.dist-info/METADATA,sha256=ndbMwIYgzUIcilJqNFhpJ6vBkdqiy1VjoRmxidmXf7g,39691
27
+ nci_cidc_api_modules-1.2.21.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
28
+ nci_cidc_api_modules-1.2.21.dist-info/top_level.txt,sha256=rNiRzL0lJGi5Q9tY9uSoMdTbJ-7u5c_D2E86KA94yRA,9
29
+ nci_cidc_api_modules-1.2.21.dist-info/RECORD,,