Details
-
Type:
Story
-
Status: Done
-
Resolution: Done
-
Fix Version/s: None
-
Component/s: ctrl_mpexec
-
Story Points:8
-
Epic Link:
-
Sprint:DB_F20_06
-
Team:Data Access and Database
-
Urgent?:No
Description
Implement qgraph and run using click (in the pipetask2 command, which will eventually replace pipetask)
Add the "chained" subcommands feature, write a Community post about it describing the differences from the existing pipetask command, request feedback.
I ran into a problem chaining the run subcommand after qgraph because it wants to use butler options passed into the qgraph command to create a new butler. I didn't want to make the user enter butler options & values twice (once for qgraph, again with same values for run). I could have made qgraph create the butler and add it to the objects passed to run as a chained command, but there was one option that wasn't used by qgraph (it may have been output, or output-run? I forget, but can look it up tomorrow), and I didn't really want to pass an option to qgraph for a future subcommand that qgraph wasn't using itself. It occurred to me that it might be reasonable for subcommands to "forward" their option values to next subcommands in the same command execution (that is, chained subcommands). I added the "option forwarding" feature so we can evaluate it and change or remove it as needed. There's documentation about it in the code and in the qgraph and run subcommand help menus. Options that are forwarded by a subcommand are annotated with an "(f)" in that option's metavar in the subcommand's help output.