lsst-ctrl-bps-htcondor 30.2026.100__tar.gz → 30.2026.300__tar.gz

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.
Files changed (42) hide show
  1. {lsst_ctrl_bps_htcondor-30.2026.100/python/lsst_ctrl_bps_htcondor.egg-info → lsst_ctrl_bps_htcondor-30.2026.300}/PKG-INFO +1 -1
  2. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300}/python/lsst/ctrl/bps/htcondor/lssthtc.py +7 -0
  3. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300}/python/lsst/ctrl/bps/htcondor/prepare_utils.py +5 -1
  4. lsst_ctrl_bps_htcondor-30.2026.300/python/lsst/ctrl/bps/htcondor/version.py +2 -0
  5. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300/python/lsst_ctrl_bps_htcondor.egg-info}/PKG-INFO +1 -1
  6. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300}/tests/test_lssthtc.py +2 -0
  7. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300}/tests/test_prepare_utils.py +13 -0
  8. lsst_ctrl_bps_htcondor-30.2026.100/python/lsst/ctrl/bps/htcondor/version.py +0 -2
  9. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300}/COPYRIGHT +0 -0
  10. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300}/LICENSE +0 -0
  11. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300}/MANIFEST.in +0 -0
  12. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300}/README.rst +0 -0
  13. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300}/bsd_license.txt +0 -0
  14. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300}/doc/lsst.ctrl.bps.htcondor/CHANGES.rst +0 -0
  15. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300}/doc/lsst.ctrl.bps.htcondor/index.rst +0 -0
  16. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300}/doc/lsst.ctrl.bps.htcondor/userguide.rst +0 -0
  17. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300}/gpl-v3.0.txt +0 -0
  18. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300}/pyproject.toml +0 -0
  19. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300}/python/lsst/ctrl/bps/htcondor/__init__.py +0 -0
  20. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300}/python/lsst/ctrl/bps/htcondor/common_utils.py +0 -0
  21. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300}/python/lsst/ctrl/bps/htcondor/dagman_configurator.py +0 -0
  22. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300}/python/lsst/ctrl/bps/htcondor/etc/__init__.py +0 -0
  23. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300}/python/lsst/ctrl/bps/htcondor/etc/htcondor_defaults.yaml +0 -0
  24. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300}/python/lsst/ctrl/bps/htcondor/final_post.sh +0 -0
  25. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300}/python/lsst/ctrl/bps/htcondor/handlers.py +0 -0
  26. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300}/python/lsst/ctrl/bps/htcondor/htcondor_config.py +0 -0
  27. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300}/python/lsst/ctrl/bps/htcondor/htcondor_service.py +0 -0
  28. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300}/python/lsst/ctrl/bps/htcondor/htcondor_workflow.py +0 -0
  29. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300}/python/lsst/ctrl/bps/htcondor/provisioner.py +0 -0
  30. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300}/python/lsst/ctrl/bps/htcondor/report_utils.py +0 -0
  31. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300}/python/lsst_ctrl_bps_htcondor.egg-info/SOURCES.txt +0 -0
  32. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300}/python/lsst_ctrl_bps_htcondor.egg-info/dependency_links.txt +0 -0
  33. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300}/python/lsst_ctrl_bps_htcondor.egg-info/requires.txt +0 -0
  34. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300}/python/lsst_ctrl_bps_htcondor.egg-info/top_level.txt +0 -0
  35. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300}/python/lsst_ctrl_bps_htcondor.egg-info/zip-safe +0 -0
  36. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300}/setup.cfg +0 -0
  37. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300}/tests/test_common_utils.py +0 -0
  38. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300}/tests/test_dagman_configurator.py +0 -0
  39. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300}/tests/test_handlers.py +0 -0
  40. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300}/tests/test_htcondor_service.py +0 -0
  41. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300}/tests/test_provisioner.py +0 -0
  42. {lsst_ctrl_bps_htcondor-30.2026.100 → lsst_ctrl_bps_htcondor-30.2026.300}/tests/test_report_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lsst-ctrl-bps-htcondor
3
- Version: 30.2026.100
3
+ Version: 30.2026.300
4
4
  Summary: HTCondor plugin for lsst-ctrl-bps.
5
5
  Author-email: Rubin Observatory Data Management <dm-admin@lists.lsst.org>
6
6
  License-Expression: BSD-3-Clause OR GPL-3.0-or-later
@@ -234,6 +234,7 @@ HTC_VALID_JOB_DAG_KEYS = {
234
234
  "retry_unless_exit",
235
235
  "abort_dag_on",
236
236
  "abort_exit",
237
+ "priority",
237
238
  }
238
239
  HTC_VERSION = version.parse(htcondor.__version__)
239
240
 
@@ -884,6 +885,12 @@ def _htc_write_job_commands(stream, name, commands):
884
885
  file=stream,
885
886
  )
886
887
 
888
+ if "priority" in commands and commands["priority"]:
889
+ print(
890
+ f"PRIORITY {name} {commands['priority']}",
891
+ file=stream,
892
+ )
893
+
887
894
 
888
895
  class HTCJob:
889
896
  """HTCondor job for use in building DAG.
@@ -306,7 +306,11 @@ def _translate_dag_cmds(gwjob):
306
306
  DAGMan commands for the job.
307
307
  """
308
308
  # Values in the dag script that just are name mappings.
309
- dag_translation = {"abort_on_value": "abort_dag_on", "abort_return_value": "abort_exit"}
309
+ dag_translation = {
310
+ "abort_on_value": "abort_dag_on",
311
+ "abort_return_value": "abort_exit",
312
+ "priority": "priority",
313
+ }
310
314
 
311
315
  dagcmds = {}
312
316
  for gwkey, htckey in dag_translation.items():
@@ -0,0 +1,2 @@
1
+ __all__ = ["__version__"]
2
+ __version__ = "30.2026.300"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lsst-ctrl-bps-htcondor
3
- Version: 30.2026.100
3
+ Version: 30.2026.300
4
4
  Summary: HTCondor plugin for lsst-ctrl-bps.
5
5
  Author-email: Rubin Observatory Data Management <dm-admin@lists.lsst.org>
6
6
  License-Expression: BSD-3-Clause OR GPL-3.0-or-later
@@ -724,6 +724,7 @@ class HtcWriteJobCommands(unittest.TestCase):
724
724
  "retry": 3,
725
725
  "retry_unless_exit": 1,
726
726
  "abort_dag_on": {"node_exit": 100, "abort_exit": 4},
727
+ "priority": 123,
727
728
  }
728
729
 
729
730
  truth = """SCRIPT DEFER 1 120 DEBUG debug_pre.txt ALL PRE job1 exec1 arg1 arg2
@@ -733,6 +734,7 @@ VARS job1 spaces="a space"
733
734
  PRE_SKIP job1 1
734
735
  RETRY job1 3 UNLESS-EXIT 1
735
736
  ABORT-DAG-ON job1 100 RETURN 4
737
+ PRIORITY job1 123
736
738
  """
737
739
  mockfh = io.StringIO()
738
740
  lssthtc._htc_write_job_commands(mockfh, "job1", dag_cmds)
@@ -134,6 +134,19 @@ class TranslateJobCmdsTestCase(unittest.TestCase):
134
134
  self.assertEqual(htc_commands["max_retries"], 0)
135
135
 
136
136
 
137
+ class TranslateDagCmdsTestCase(unittest.TestCase):
138
+ """Test _translate_dag_cmds method."""
139
+
140
+ def setUp(self):
141
+ self.gw_exec = GenericWorkflowExec("test_exec", "/dummy/dir/pipetask")
142
+
143
+ def testPriority(self):
144
+ gwjob = GenericWorkflowJob("priority", "label1", executable=self.gw_exec)
145
+ gwjob.priority = 100
146
+ dag_commands = prepare_utils._translate_dag_cmds(gwjob)
147
+ self.assertEqual(dag_commands["priority"], 100)
148
+
149
+
137
150
  class GroupToSubdagTestCase(unittest.TestCase):
138
151
  """Test _group_to_subdag function."""
139
152
 
@@ -1,2 +0,0 @@
1
- __all__ = ["__version__"]
2
- __version__ = "30.2026.100"