Skip to content

Commit ebc11b6

Browse files
Ken LippoldKen Lippold
authored andcommitted
Enabled HydroShare archival
1 parent db866a1 commit ebc11b6

File tree

15 files changed

+542
-53
lines changed

15 files changed

+542
-53
lines changed

etl/fixtures/hydroshare_archival.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
pk: 529b62fc-84bf-4173-8add-c9fc9126d3db
1414
fields:
1515
name: HydroShare Archive Loader Settings
16+
etl_system_platform: eb1a26e0-75c9-415d-9895-8b0be8466139
1617
etl_configuration_model: datasource
1718
etl_configuration_type: loader
1819
etl_configuration_schema:

etl/models/etl_configuration.py

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -53,17 +53,17 @@ class EtlConfiguration(models.Model, PermissionChecker):
5353
@property
5454
def data_sources(self):
5555
return DataSource.objects.filter(
56-
models.Q(extractor_configuration=self) |
57-
models.Q(transformer_configuration=self) |
58-
models.Q(loader_configuration=self)
56+
models.Q(extractor_configuration=self)
57+
| models.Q(transformer_configuration=self)
58+
| models.Q(loader_configuration=self)
5959
).distinct()
6060

6161
@property
6262
def linked_datastreams(self):
6363
return LinkedDatastream.objects.filter(
64-
models.Q(extractor_configuration=self) |
65-
models.Q(transformer_configuration=self) |
66-
models.Q(loader_configuration=self)
64+
models.Q(extractor_configuration=self)
65+
| models.Q(transformer_configuration=self)
66+
| models.Q(loader_configuration=self)
6767
).distinct()
6868

6969
objects = EtlConfigurationQuerySet.as_manager()
@@ -99,9 +99,14 @@ def delete_contents(filter_arg: models.Model, filter_suffix: Optional[str]):
9999

100100
if filter_suffix:
101101
etl_configuration_relation_filters = [
102-
f"{relation}__{filter_suffix}" for relation in etl_configuration_relation_filters
102+
f"{relation}__{filter_suffix}"
103+
for relation in etl_configuration_relation_filters
103104
]
104105

105106
for relation in etl_configuration_relation_filters:
106-
DataSource.objects.filter(**{relation: filter_arg}).update(**{relation: None})
107-
LinkedDatastream.objects.filter(**{relation: filter_arg}).update(**{relation: None})
107+
DataSource.objects.filter(**{relation: filter_arg}).update(
108+
**{relation: None}
109+
)
110+
LinkedDatastream.objects.filter(**{relation: filter_arg}).update(
111+
**{relation: None}
112+
)

etl/schemas/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@
1919
EtlConfigurationPatchBody,
2020
)
2121
from .hydroshare_archival import (
22+
HydroShareArchivalFields,
2223
HydroShareArchivalGetResponse,
2324
HydroShareArchivalPostBody,
24-
HydroShareArchivalPatchBody
25+
HydroShareArchivalPatchBody,
2526
)

etl/schemas/hydroshare_archival.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
class HydroShareArchivalFields(Schema):
99
link: Optional[AnyHttpUrl] = None
10-
frequency: Optional[Literal["daily", "weekly", "monthly"]]
10+
frequency: Optional[Literal["daily", "weekly", "monthly"]] = None
1111
path: str = Field(..., max_length=255)
1212
datastream_ids: list[UUID]
1313

etl/services/etl_configuration.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -159,16 +159,16 @@ def delete(self, user: User, etl_system_platform_id: uuid.UUID, uid: uuid.UUID):
159159
)
160160

161161
if DataSource.objects.filter(
162-
Q(extractor_configuration=etl_configuration) |
163-
Q(transformer_configuration=etl_configuration) |
164-
Q(loader_configuration=etl_configuration)
162+
Q(extractor_configuration=etl_configuration)
163+
| Q(transformer_configuration=etl_configuration)
164+
| Q(loader_configuration=etl_configuration)
165165
).exists():
166166
raise HttpError(409, "ETL configuration in use by one or more data sources")
167167

168168
if LinkedDatastream.objects.filter(
169-
Q(extractor_configuration=etl_configuration) |
170-
Q(transformer_configuration=etl_configuration) |
171-
Q(loader_configuration=etl_configuration)
169+
Q(extractor_configuration=etl_configuration)
170+
| Q(transformer_configuration=etl_configuration)
171+
| Q(loader_configuration=etl_configuration)
172172
).exists():
173173
raise HttpError(409, "ETL configuration in use by one or more datastreams")
174174

0 commit comments

Comments
 (0)