Closed reelmatt closed 4 years ago
I figured out support for sessions in Postman, at least for creating the new workflow. This now allows for modification of a workflow and POSTing of Nodes. Latest commits reflect these changes and simplifies some code.
The 'retrieve nodes' route was changed to pull in information from the Node module instead of hard-coded JSON data. To enable some retrieval, I changed some information from instance -> class attributes, but not sure if this is "correct" or any public/private variable information we might need to consider.
This is my first stab at how our Node subclasses and Node execution might work. I'm still a little new to classes/inheritance in Python, so you might notice some Java-inspired patterns that could be re-written. But, I think this serves as a good foundation we can build on. This should match up with the discussions we've had, but there's definitely still some unanswered questions in this approach (custom nodes??) and room for improvement!
pyworkflow
IONode
,ManipulationNode
,ReadCsvNode
) to provide customization to the parentNode
classnode_factory.py
(written as functions, not sure if a class/other implementation would be more appropriate)nx.DiGraph
askey: value
attributes.). Now works great in conjunction with the factory as the node info can be passed directly to the factory à lanode_factory(self.graph.nodes[node_id])
Django views
Testing
workflow.json
andtest.csv
in vp-test-files.zip to use for testing. These should be moved to/tmp
. You'll find a few comments scattered throughout in the new commits referencing file-handling. tl;dr—workflow is mostly fine, but we should take a look at files for Nodes with input/output.