[SAGA-RG] comments about PySAGA

Andre Merzky andre at merzky.net
Thu Sep 8 07:42:32 CDT 2011


Hi Sylvain,

those seem to be reasonable proposals, IMHO - thanks for your input!

Best, Andre.


On Wed, Sep 7, 2011 at 11:32 AM, Sylvain Reynaud
<Sylvain.Reynaud at in2p3.fr> wrote:
> Hi all,
>
> From our point of view, the PySAGA VU bindings is not so far from being
> pythonic, but here are few comments about this binding :
>
> - Create method classes are useful for asynchronous creation on the objects
> (JobService, NSEntry, RPC, Stream, StreamService), but other objects do not
> support asynchronous creation (Context, JobDescription, Callback, Metric,
> Parameter, Session, Task, TaskContainer, URL). There's no point using a
> create method for these later objects, using a constructor is better. Our
> proposal is to use constructors on all objects and keep the create class
> method only for objects that can be asynchronously created.
>
> - We think that we should not modify SAGA methods to accept both URL and
> string, because this would lead to more drawbacks than benefits. Indeed,
> it's not a good thing to use the same argument to store different type of
> objects, and URLs can be created on the fly (futhermore when it will be
> possible to use constructors).
>
> - The getter and setter (for example in URL, Parameter, SagaException,
> StdIO) should be replaced by properties. However, methods like Job.get_stdin
> or JobService.get_job are not real getter and should be kept unchanged.
>
> - The SAGA specification says "Bindings to languages that natively support
> inspection on object types MAY omit this enum and the get type() method.".
> So we could remove the get_type method from the BaseObject class and so the
> BaseObjectType class, and use the Python "isinstance" method instead.
>
> - Some methods coming from the latest version of the specification (Revised
> January 25, 2011) are not in the python bindings, like
> SagaException.get_all_messages() and get_all_exceptions() for example.
>
> - The TaskContainer.size() method could be replaced with the magic Python
> method .__len__() in order to enable to use the Python standard way of
> getting the length len(obj)
>
> Comments are welcomed !
> Julien and Sylvain
>
>
> --
>  saga-rg mailing list
>  saga-rg at ogf.org
>  http://www.ogf.org/mailman/listinfo/saga-rg
>



-- 
Nothing is ever easy...


More information about the saga-rg mailing list