From 39ab83f1f3cf7c06290aa7fa5d3e15b478be71c3 Mon Sep 17 00:00:00 2001 From: Elizabeth Esswein Date: Thu, 11 May 2023 21:00:27 -0400 Subject: [PATCH 1/2] remove one deprecated and unused feature --- SpiffWorkflow/bpmn/serializer/helpers/spec.py | 22 +++---------------- SpiffWorkflow/task.py | 19 +--------------- 2 files changed, 4 insertions(+), 37 deletions(-) diff --git a/SpiffWorkflow/bpmn/serializer/helpers/spec.py b/SpiffWorkflow/bpmn/serializer/helpers/spec.py index 6be570a0..b8c224d1 100644 --- a/SpiffWorkflow/bpmn/serializer/helpers/spec.py +++ b/SpiffWorkflow/bpmn/serializer/helpers/spec.py @@ -132,7 +132,7 @@ class TaskSpecConverter(BpmnSpecConverter): modules of this package; the `camunda`,`dmn`, and `spiff` serialization packages contain other examples. """ - def get_default_attributes(self, spec, include_data=False): + def get_default_attributes(self, spec): """Extracts the default Spiff attributes from a task spec. :param spec: the task spec to be converted @@ -140,7 +140,7 @@ def get_default_attributes(self, spec, include_data=False): Returns: a dictionary of standard task spec attributes """ - dct = { + return { 'name': spec.name, 'description': spec.description, 'manual': spec.manual, @@ -155,15 +155,6 @@ def get_default_attributes(self, spec, include_data=False): 'data_output_associations': [ self.registry.convert(obj) for obj in spec.data_output_associations ], 'io_specification': self.registry.convert(spec.io_specification), } - # This stuff is also all defined in the base task spec, but can contain data, so we need - # our data serializer. I think we should try to get this stuff out of the base task spec. - if include_data: - dct['data'] = self.registry.convert(spec.data) - dct['defines'] = self.registry.convert(spec.defines) - dct['pre_assign'] = self.registry.convert(spec.pre_assign) - dct['post_assign'] = self.registry.convert(spec.post_assign) - - return dct def get_join_attributes(self, spec): """Extracts attributes for task specs that inherit from `Join`. @@ -204,13 +195,12 @@ def get_standard_loop_attributes(self, spec): 'test_before': spec.test_before, } - def task_spec_from_dict(self, dct, include_data=False): + def task_spec_from_dict(self, dct): """ Creates a task spec based on the supplied dictionary. It handles setting the default task spec attributes as well as attributes added by `BpmnSpecMixin`. :param dct: the dictionary to create the task spec from - :param include_data: whether or not to include task spec data attributes Returns: a restored task spec @@ -234,12 +224,6 @@ def task_spec_from_dict(self, dct, include_data=False): # Ideally I'd fix it in the parser, but I'm afraid of quickly running into a wall there spec.bpmn_id = bpmn_id - if include_data: - spec.data = self.registry.restore(dct.get('data', {})) - spec.defines = self.registry.restore(dct.get('defines', {})) - spec.pre_assign = self.registry.restore(dct.get('pre_assign', {})) - spec.post_assign = self.registry.restore(dct.get('post_assign', {})) - if isinstance(spec, BpmnSpecMixin): spec.io_specification = self.registry.restore(dct.pop('io_specification', None)) diff --git a/SpiffWorkflow/task.py b/SpiffWorkflow/task.py index fdbf9f40..4d91162c 100644 --- a/SpiffWorkflow/task.py +++ b/SpiffWorkflow/task.py @@ -104,24 +104,7 @@ class TaskState: } -class DeprecatedMetaTask(type): - """ - Handle deprecated methods that are now moved to TaskState - """ - TaskNames = {**TaskStateNames, **TaskStateMasks} - TaskStateFromNames = {v: k for k, v in TaskNames.items()} - - def __getattribute__(self, item): - if item in DeprecatedMetaTask.TaskNames.values(): - warnings.warn(f'Task.{item} is deprecated. ' - f'Please use TaskState.{item}', - DeprecationWarning, stacklevel=2) - return DeprecatedMetaTask.TaskStateFromNames[item] - else: - return type.__getattribute__(self, item) - - -class Task(object, metaclass=DeprecatedMetaTask): +class Task(object): """ Used internally for composing a tree that represents the path that is taken (or predicted) within the workflow. From ca65602c0501f3e7172684a0af141f378df18a27 Mon Sep 17 00:00:00 2001 From: Elizabeth Esswein Date: Fri, 12 May 2023 09:47:39 -0400 Subject: [PATCH 2/2] correct typo in filename --- SpiffWorkflow/bpmn/parser/BpmnParser.py | 2 +- SpiffWorkflow/bpmn/serializer/workflow.py | 2 +- SpiffWorkflow/bpmn/specs/defaults.py | 2 +- .../specs/mixins/{subworkfow_task.py => subworkflow_task.py} | 0 SpiffWorkflow/bpmn/workflow.py | 2 +- SpiffWorkflow/spiff/specs/defaults.py | 2 +- tests/SpiffWorkflow/bpmn/CollaborationTest.py | 2 +- 7 files changed, 6 insertions(+), 6 deletions(-) rename SpiffWorkflow/bpmn/specs/mixins/{subworkfow_task.py => subworkflow_task.py} (100%) diff --git a/SpiffWorkflow/bpmn/parser/BpmnParser.py b/SpiffWorkflow/bpmn/parser/BpmnParser.py index 56a27a0d..82d308dd 100644 --- a/SpiffWorkflow/bpmn/parser/BpmnParser.py +++ b/SpiffWorkflow/bpmn/parser/BpmnParser.py @@ -46,7 +46,7 @@ EventBasedGateway ) from SpiffWorkflow.bpmn.specs.event_definitions import NoneEventDefinition -from SpiffWorkflow.bpmn.specs.mixins.subworkfow_task import SubWorkflowTask as SubWorkflowTaskMixin +from SpiffWorkflow.bpmn.specs.mixins.subworkflow_task import SubWorkflowTask as SubWorkflowTaskMixin from .ValidationException import ValidationException from .ProcessParser import ProcessParser diff --git a/SpiffWorkflow/bpmn/serializer/workflow.py b/SpiffWorkflow/bpmn/serializer/workflow.py index 522ecbc7..460b8c7d 100644 --- a/SpiffWorkflow/bpmn/serializer/workflow.py +++ b/SpiffWorkflow/bpmn/serializer/workflow.py @@ -24,7 +24,7 @@ from SpiffWorkflow.task import Task from SpiffWorkflow.bpmn.workflow import BpmnMessage, BpmnWorkflow -from SpiffWorkflow.bpmn.specs.mixins.subworkfow_task import SubWorkflowTask +from SpiffWorkflow.bpmn.specs.mixins.subworkflow_task import SubWorkflowTask from .migration.version_migration import MIGRATIONS from .helpers.registry import DefaultRegistry diff --git a/SpiffWorkflow/bpmn/specs/defaults.py b/SpiffWorkflow/bpmn/specs/defaults.py index e3ac6379..dc843ca5 100644 --- a/SpiffWorkflow/bpmn/specs/defaults.py +++ b/SpiffWorkflow/bpmn/specs/defaults.py @@ -35,7 +35,7 @@ SequentialMultiInstanceTask as SequentialMultiInstanceTaskMixin, ) -from .mixins.subworkfow_task import ( +from .mixins.subworkflow_task import ( SubWorkflowTask as SubworkflowTaskMixin, CallActivity as CallActivityMixin, TransactionSubprocess as TransactionSubprocessMixin, diff --git a/SpiffWorkflow/bpmn/specs/mixins/subworkfow_task.py b/SpiffWorkflow/bpmn/specs/mixins/subworkflow_task.py similarity index 100% rename from SpiffWorkflow/bpmn/specs/mixins/subworkfow_task.py rename to SpiffWorkflow/bpmn/specs/mixins/subworkflow_task.py diff --git a/SpiffWorkflow/bpmn/workflow.py b/SpiffWorkflow/bpmn/workflow.py index 95978c92..d6063e61 100644 --- a/SpiffWorkflow/bpmn/workflow.py +++ b/SpiffWorkflow/bpmn/workflow.py @@ -26,7 +26,7 @@ from SpiffWorkflow.bpmn.specs.mixins.events.event_types import CatchingEvent from SpiffWorkflow.bpmn.specs.mixins.events.start_event import StartEvent -from SpiffWorkflow.bpmn.specs.mixins.subworkfow_task import CallActivity +from SpiffWorkflow.bpmn.specs.mixins.subworkflow_task import CallActivity from SpiffWorkflow.bpmn.specs.event_definitions import ( MessageEventDefinition, MultipleEventDefinition, diff --git a/SpiffWorkflow/spiff/specs/defaults.py b/SpiffWorkflow/spiff/specs/defaults.py index 210b3b8e..5dcf7e19 100644 --- a/SpiffWorkflow/spiff/specs/defaults.py +++ b/SpiffWorkflow/spiff/specs/defaults.py @@ -24,7 +24,7 @@ from SpiffWorkflow.bpmn.specs.mixins.events.intermediate_event import SendTask, ReceiveTask -from SpiffWorkflow.bpmn.specs.mixins.subworkfow_task import( +from SpiffWorkflow.bpmn.specs.mixins.subworkflow_task import( SubWorkflowTask as SubWorkflowTaskMixin, CallActivity as CallActivityMixin, TransactionSubprocess as TransactionSubprocessMixin, diff --git a/tests/SpiffWorkflow/bpmn/CollaborationTest.py b/tests/SpiffWorkflow/bpmn/CollaborationTest.py index 60b5f6a1..bbbcddd7 100644 --- a/tests/SpiffWorkflow/bpmn/CollaborationTest.py +++ b/tests/SpiffWorkflow/bpmn/CollaborationTest.py @@ -1,4 +1,4 @@ -from SpiffWorkflow.bpmn.specs.mixins.subworkfow_task import CallActivity +from SpiffWorkflow.bpmn.specs.mixins.subworkflow_task import CallActivity from SpiffWorkflow.bpmn.workflow import BpmnWorkflow from SpiffWorkflow.task import TaskState