Skip to content

Commit dbe3bba

Browse files
committed
deprecate and remove ScriptTemplate
1 parent 31cc680 commit dbe3bba

28 files changed

+38
-522
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
"""Deprecate ScriptTemplates
2+
3+
Revision ID: cef0ebaa8241
4+
Revises: fb13f1f4ea21
5+
Create Date: 2025-03-18 20:22:38.960167+00:00
6+
7+
"""
8+
9+
from collections.abc import Sequence
10+
11+
from alembic import op
12+
13+
# revision identifiers, used by Alembic.
14+
revision: str = "cef0ebaa8241"
15+
down_revision: str | None = "fb13f1f4ea21"
16+
branch_labels: str | Sequence[str] | None = None
17+
depends_on: str | Sequence[str] | None = None
18+
19+
20+
def upgrade() -> None:
21+
op.drop_index(op.f("ix_script_template_name"), table_name="script_template", if_exists=True)
22+
op.drop_table("script_template", if_exists=True)
23+
24+
25+
def downgrade() -> None:
26+
# There is no going back.
27+
pass

alembic/versions/d2a05fd9869c_script_template_for_v0_1_4.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,4 @@ def upgrade() -> None:
3030

3131

3232
def downgrade() -> None:
33-
op.drop_table("script_template")
33+
op.drop_table("script_template", if_exists=True)

alembic/versions/fb13f1f4ea21_script_template_indices_for_v0_1_4.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,4 @@ def upgrade() -> None:
2222

2323

2424
def downgrade() -> None:
25-
op.drop_index(op.f("ix_script_template_name"), table_name="script_template")
25+
op.drop_index(op.f("ix_script_template_name"), table_name="script_template", if_exists=True)

src/lsst/cmservice/cli/client.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
from .script import script_group
1515
from .script_dependency import script_dependency_group
1616
from .script_error import script_error_group
17-
from .script_template import script_template_group
1817
from .spec_block import spec_block_group
1918
from .specification import specification_group
2019
from .step import step_group
@@ -40,7 +39,6 @@
4039
script_group,
4140
script_dependency_group,
4241
script_error_group,
43-
script_template_group,
4442
spec_block_group,
4543
specification_group,
4644
step_dependency_group,

src/lsst/cmservice/cli/load.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ def specification(
2828
result = client.load.specification_cl(**kwargs)
2929
specifications = result.get("Specification", [])
3030
spec_blocks = result.get("SpecBlock", [])
31-
script_templates = result.get("ScriptTemplate", [])
3231

3332
do_print = output not in [options.OutputEnum.json, options.OutputEnum.yaml]
3433
if do_print:
@@ -37,9 +36,6 @@ def specification(
3736
if do_print:
3837
print("SpecBlocks: -----")
3938
output_pydantic_list(spec_blocks, output, db.SpecBlock.col_names_for_table)
40-
if do_print:
41-
print("ScriptTemplates: -----")
42-
output_pydantic_list(script_templates, output, db.ScriptTemplate.col_names_for_table)
4339

4440

4541
@load_group.command(name="campaign")

src/lsst/cmservice/cli/options.py

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@
4848
"rematch",
4949
"row_id",
5050
"script_id",
51-
"script_template_name",
5251
"script_name",
5352
"scripts",
5453
"spec_aliases",
@@ -184,7 +183,7 @@ class OutputEnum(Enum):
184183
"--alias",
185184
type=str,
186185
default=None,
187-
help="Alias for a ScriptTemplate or SpecBlock association",
186+
help="Alias for a SpecBlock association",
188187
)
189188

190189

@@ -391,13 +390,6 @@ class OutputEnum(Enum):
391390
)
392391

393392

394-
script_template_name = PartialOption(
395-
"--script_template_name",
396-
type=str,
397-
help="Name of a ScriptTemplate",
398-
)
399-
400-
401393
scripts = PartialOption(
402394
"--scripts",
403395
type=DictParamType(),

src/lsst/cmservice/cli/script_template.py

Lines changed: 0 additions & 66 deletions
This file was deleted.

src/lsst/cmservice/client/__init__.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
from .queues import CMQueueClient
3232
from .script_dependencies import CMScriptDependencyClient
3333
from .script_errors import CMScriptErrorClient
34-
from .script_templates import CMScriptTemplateClient
3534
from .scripts import CMScriptClient
3635
from .spec_blocks import CMSpecBlockClient
3736
from .specifications import CMSpecificationClient
@@ -54,7 +53,6 @@
5453
"CMQueueClient",
5554
"CMScriptDependencyClient",
5655
"CMScriptErrorClient",
57-
"CMScriptTemplateClient",
5856
"CMScriptClient",
5957
"CMSpecBlockClient",
6058
"CMSpecificationClient",

src/lsst/cmservice/client/client.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
from .queues import CMQueueClient
2020
from .script_dependencies import CMScriptDependencyClient
2121
from .script_errors import CMScriptErrorClient
22-
from .script_templates import CMScriptTemplateClient
2322
from .scripts import CMScriptClient
2423
from .spec_blocks import CMSpecBlockClient
2524
from .specifications import CMSpecificationClient
@@ -59,7 +58,6 @@ def __init__(self: CMClient) -> None:
5958

6059
self.specification = CMSpecificationClient(self)
6160
self.spec_block = CMSpecBlockClient(self)
62-
self.script_template = CMScriptTemplateClient(self)
6361

6462
self.pipetask_error_type = CMPipetaskErrorTypeClient(self)
6563
self.pipetask_error = CMPipetaskErrorClient(self)

src/lsst/cmservice/client/loaders.py

Lines changed: 2 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -115,51 +115,6 @@ def _upsert_spec_block(
115115
steps=block_data.get("steps"),
116116
)
117117

118-
def _upsert_script_template(
119-
self,
120-
config_values: dict,
121-
*,
122-
allow_update: bool = False,
123-
) -> models.ScriptTemplate:
124-
"""Upsert and return a ScriptTemplate
125-
126-
This will create a new ScriptTemplate, or update an existing one
127-
128-
Parameters
129-
----------
130-
config_values: dict
131-
Values for the ScriptTemplate
132-
133-
allow_update: bool
134-
Allow updating existing templates
135-
136-
Returns
137-
-------
138-
script_template: ScriptTemplate
139-
Newly created or updated ScriptTemplate
140-
"""
141-
key = config_values.pop("name")
142-
script_template = self._parent.script_template.get_row_by_name(key)
143-
if script_template and not allow_update:
144-
return script_template
145-
146-
file_path = config_values["file_path"]
147-
full_file_path = os.path.abspath(os.path.expandvars(file_path))
148-
with open(full_file_path, encoding="utf-8") as fin:
149-
data = yaml.safe_load(fin)
150-
151-
if script_template is None:
152-
return self._parent.script_template.create(
153-
name=key,
154-
data=data,
155-
)
156-
157-
return self._parent.script_template.update(
158-
row_id=script_template.id,
159-
name=key,
160-
data=data,
161-
)
162-
163118
def _upsert_specification(
164119
self,
165120
config_values: dict,
@@ -173,7 +128,7 @@ def _upsert_specification(
173128
Parameters
174129
----------
175130
config_values: dict
176-
Values for the ScriptTemplate
131+
Values for the Specification
177132
178133
allow_update: bool
179134
Allow updating existing templates
@@ -232,7 +187,6 @@ def specification_cl(
232187
out_dict: dict[str, list[BaseModel]] = dict(
233188
Specification=[],
234189
SpecBlock=[],
235-
ScriptTemplate=[],
236190
)
237191

238192
for config_item in spec_data:
@@ -253,20 +207,14 @@ def specification_cl(
253207
allow_update=allow_update,
254208
)
255209
out_dict["SpecBlock"].append(spec_block)
256-
elif "ScriptTemplate" in config_item:
257-
script_template = self._upsert_script_template(
258-
config_item["ScriptTemplate"],
259-
allow_update=allow_update,
260-
)
261-
out_dict["ScriptTemplate"].append(script_template)
262210
elif "Specification" in config_item:
263211
specification = self._upsert_specification(
264212
config_item["Specification"],
265213
allow_update=allow_update,
266214
)
267215
out_dict["Specification"].append(specification)
268216
else: # pragma: no cover
269-
good_keys = "ScriptTemplate | SpecBlock | Specification | Imports"
217+
good_keys = "SpecBlock | Specification | Imports"
270218
raise CMYamlParseError(f"Expecting one of {good_keys} not: {spec_data.keys()})")
271219

272220
return out_dict

0 commit comments

Comments
 (0)