|
74 | 74 | )
|
75 | 75 | import cylc.flow.flags
|
76 | 76 | from cylc.flow.log_level import log_level_to_verbosity
|
77 |
| -from cylc.flow.network.schema import WorkflowStopMode |
78 | 77 | from cylc.flow.parsec.exceptions import ParsecError
|
79 | 78 | from cylc.flow.task_id import TaskID
|
80 | 79 | from cylc.flow.workflow_status import RunMode, StopMode
|
81 | 80 |
|
82 | 81 | from metomi.isodatetime.parsers import TimePointParser
|
83 | 82 |
|
84 | 83 | if TYPE_CHECKING:
|
| 84 | + from enum import Enum |
85 | 85 | from cylc.flow.scheduler import Scheduler
|
86 | 86 |
|
87 | 87 | # define a type for command implementations
|
@@ -165,7 +165,7 @@ async def set_prereqs_and_outputs(
|
165 | 165 | @_command('stop')
|
166 | 166 | async def stop(
|
167 | 167 | schd: 'Scheduler',
|
168 |
| - mode: Union[str, 'StopMode'], |
| 168 | + mode: Union[str, 'Enum'], |
169 | 169 | cycle_point: Optional[str] = None,
|
170 | 170 | # NOTE clock_time YYYY/MM/DD-HH:mm back-compat removed
|
171 | 171 | clock_time: Optional[str] = None,
|
@@ -203,10 +203,10 @@ async def stop(
|
203 | 203 | schd._update_workflow_state()
|
204 | 204 | else:
|
205 | 205 | # immediate shutdown
|
206 |
| - with suppress(KeyError): |
207 |
| - # By default, mode from mutation is a name from the |
208 |
| - # WorkflowStopMode graphene.Enum, but we need the value |
209 |
| - mode = WorkflowStopMode[mode] # type: ignore[misc] |
| 206 | + with suppress(AttributeError): |
| 207 | + # By default, mode from mutation is a WorkflowStopMode |
| 208 | + # graphene.Enum, but we need the value |
| 209 | + mode = mode.value # type: ignore |
210 | 210 | try:
|
211 | 211 | mode = StopMode(mode)
|
212 | 212 | except ValueError:
|
@@ -298,10 +298,10 @@ async def pause(schd: 'Scheduler'):
|
298 | 298 |
|
299 | 299 |
|
300 | 300 | @_command('set_verbosity')
|
301 |
| -async def set_verbosity(schd: 'Scheduler', level: Union[int, str]): |
| 301 | +async def set_verbosity(schd: 'Scheduler', level: 'Enum'): |
302 | 302 | """Set workflow verbosity."""
|
303 | 303 | try:
|
304 |
| - lvl = int(level) |
| 304 | + lvl = int(level.value) |
305 | 305 | LOG.setLevel(lvl)
|
306 | 306 | except (TypeError, ValueError) as exc:
|
307 | 307 | raise CommandFailedError(exc) from None
|
|
0 commit comments