This ticket is a collection of items which relate to the GFD.90
compliance of Bliss. At the moment, it contains the most obvious
syntactic gaps - semantic gaps will be added over time.
close() should be available for all stateful objects, or none (all
I think).
ASync:
missing
Monitorable:
missing
Attributes:
attribute_is_removable() is missing
find_attributes (pattern) is missing
Context:
constructor should get optional type
a number of attributes are missing
Session:
the ctor should take a bool parameter to signal if a default
session is created (which automatically picks up contexts from
application environment
URL:
the URL class implementation is supposed to ensure that using setters
will always result in a well formed URL - that is not the case in
bliss.
Object:
clone method for deep copy is missing
Exception:
the exception should always contain the saga.Object instance which
from which the exception originated. use case::
try :
for file in files :
file.copy ("file://localhost/tmp")
except saga.Exception as e :
# get_object will always yield a file in the above case
print "copying file failed: " + e.get_object ().get_url ()
job.State:
Pending should be a substate of Running.
job.Service:
run_job() is missing
the ctor needs to check the endpoint (exists, can be contacted)
job.Job:
I kind of understand the idea behind the ctor(url,id), but
the service URL is part of the id - so it should be ctor(id).
But also, why is that shortcut for job.Service(url).get_job(id)
needed?
job id should never change after being assigned.
several methods, attribs, properties missing
job.Container:
this should become a task container eventually
wait timeout should apply to the task container timeout, not the
timeout on waits for the container's elements.
container does not operate on IDs, but on instances -- get_job(id)
does not make sense. It looks ok now, but will make no sense when
the container becomes a task.Container.
filesystem:
this package actually implements the GFD.90 namespace package, and
should be named thus. Or it should add read/write/seek methods.
filesystem.Directory:
ctor needs flags
ctor should accept relative URLs (which are path relative to
application's pwd)
pattern in list() should be used.
open/open_dir missing
inspection methods missing
get_url/get_cwd/is_file,dir,link and others missing
links missing
dir should have move(tgt) and move(src,tgt) etc.
all src/tgt URLs should be either absolute, or relative to the dir's pwd
move is missing
many methods miss flags, in particular for overwrite on copy/move,
and CreateParents for make_dir, but also others
This ticket is a collection of items which relate to the GFD.90 compliance of Bliss. At the moment, it contains the most obvious syntactic gaps - semantic gaps will be added over time.
ASync:
Monitorable:
Attributes:
Context:
Session:
URL:
Object:
Exception:
the exception should always contain the saga.Object instance which from which the exception originated. use case::
job.State:
job.Service:
job.Job:
But also, why is that shortcut for job.Service(url).get_job(id) needed?
job.Container:
filesystem:
filesystem.Directory:
filesystem.File: