-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Liu 247 #145
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just left some minor comments, but those are not too important.
What I find more substantial is that most of the new code in pyfunc.py
is not tested:
https://coveralls.io/builds/48860216/source?filename=daliuge-engine%2Fdlg%2Fapps%2Fpyfunc.py. I'm guessing some manual tests were done, but it'd be great to see unit tests for these new bits, as otherwise we'll quickly derail when new changes come in.
@@ -63,6 +63,36 @@ class NullBarrierApp(BarrierAppDROP): | |||
def run(self): | |||
pass | |||
|
|||
## |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's not crystal clear what the idea of this new PythonApp
is, given it's almost identical to SleepApp
except for the name and for not having the sleepTime
parameter. If it's here to stay let's at least add a test for it just to ensure it's actually correct (it does look correct though).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As mentioned in the original comment for this PR the PythonApp is required to enable people to develop a graph and a palette from scratch in EAGLE. It always existed for that reason, but was part of the hard-coded palette in EAGLE. Since a PythonApp is in some way such a fundamental component in DALiuGE, there was no class with that name in the code and thus this was the only normal component missing from the EAGLE hard-coded palette. This class only exists to enable the automatic creation of the associated component in the Raw Component palette. Since the appclass parameter in the EAGLE doxygen section is actually empty, the code will in fact never be called (although it is functional). Thus we could go a step further and just put a 'pass' into the code body.
Main objective was to support *args and **kwargs for PyfuncApps. In addition to that we are now also supporting positional only args and kwargs only. Thus we are covering all Python cases. Additional changes: