Classes¶
-
class
pyvospace.server.space.AbstractSpace¶ -
copy_storage_node(src: pyvospace.core.model.Node, dest: pyvospace.core.model.Node)¶ Copy storage node from src to dest.
Parameters: - src – Source Node.
- dest – Destination Node.
Raises: VOSpaceError – if copy can not be completed.
-
create_storage_node(node: pyvospace.core.model.Node)¶ Create storage node when VOSpace node is created.
Parameters: node – Node to be created. Raises: VOSpaceError – if creating the node can not be completed.
-
delete_storage_node(node: pyvospace.core.model.Node)¶ Delete storage node when VOSpace node is deleted.
If the node is the root of a tree, then the entire tree will be deleted.
Parameters: node – Node to be created. Raises: VOSpaceError – if node can not be deleted.
-
get_accept_views(node: pyvospace.core.model.Node) → List[pyvospace.core.model.View]¶ A list Views that service will accept for that Node type.
Parameters: node – Node object. Returns: View of list.
-
get_properties() → pyvospace.core.model.Properties¶ Return VOSpace Properties.
accepts: A list of identifiers for the Properties that the service accepts and understands.
provides: A list of identifiers for the Properties that the service provides.
contains: A list of identifiers for all the Properties currently used by Nodes within the service.
Returns: Properties object.
-
get_protocols() → pyvospace.core.model.Protocols¶ Get a list of the transfer Protocols supported by the VOSpace service.
accepts: A list of Protocols that the service SHALL accept.
provides: A list of Protocols that the service SHALL provide.
Returns: Protocols object.
-
get_provide_views(node: pyvospace.core.model.Node) → List[pyvospace.core.model.View]¶ A list Views that service will provide for that Node type.
Parameters: node – Node object. Returns: View list.
-
get_transfer_protocols(job: pyvospace.core.model.UWSJob) → List[pyvospace.core.model.Protocol]¶ Get the transfer protocols for the job.
e.g. PushToSpace request returning a HTTPPut storage endpoint.
Parameters: job – UWSJob Returns: Protocol List. Raises: VOSpaceError – if protocol is not supported or no storage found.
-
get_views() → pyvospace.core.model.Views¶ Get a list of the Views and data formats supported by the VOSpace service.
Returns: Views object.
-
move_storage_node(src: pyvospace.core.model.Node, dest: pyvospace.core.model.Node)¶ Move storage node from src to dest.
Parameters: - src – Source Node.
- dest – Destination Node.
Raises: VOSpaceError – if move can not be completed.
-
-
class
pyvospace.server.storage.HTTPSpaceStorageServer(cfg_file, *args, **kwargs)¶ Abstract HTTP based storage backend.
Parameters: - cfg_file – Storage configuration file.
- args – unnamed arguments.
- kwargs – named arguments.
-
download(job: pyvospace.server.uws.StorageUWSJob, request: aiohttp.web_request.Request)¶ PullFromSpace request to download data from a node.
Parameters: - job – StorageUWSJob.
- request – client reference to request.
-
permits(identity, permission, context)¶ Permission on VOSpace actions.
Parameters: - identity – user object (type defined by implementation)
- permission –
createNode: called on a 6.2.1 createNode request. context: tuple(
parent Node,Node)getNode: called on a 6.3.1 setNode request. context:
NodesetNode: called on a 6.3.2 setNode request. context:
NodemoveNode: called on a 6.2.2 moveNode request. context: tuple(
src Node,dest Node)copyNode: called on a 6.2.3 copyNode request. context: tuple(
src Node,dest Node)deleteNode: called on a 6.2.4 deleteNode request. context:
NodecreateTransfer: called when a UWS transfer job is to be created (Push, Pull, Move, Copy) context:
TransferdataTransfer: called when a UWS push or pull data transfer job is to be created. context:
UWSJobrunJob: called when a UWS job is to be run. context:
UWSJobabortJob: called when a UWS job is to be aborted. context:
UWSJob
Returns: True if action can be performed on behalf of the user; False otherwise.
-
setup()¶ Setup HTTP based storage backend.
-
shutdown()¶ Shutdown HTTP based storage backend.
-
upload(job: pyvospace.server.uws.StorageUWSJob, request: aiohttp.web_request.Request)¶ PushToSpace request to upload data to a node.
Parameters: - job – StorageUWSJob.
- request – client reference to request.
-
class
pyvospace.server.space.SpaceServer(cfg_file, *args, **kwargs)¶ HTTP based VOSpace metadata backend.
Parameters: - cfg_file – VOSpace configuration file.
- args – unnamed arguments.
- kwargs – named arguments.
-
permits(identity, permission, context)¶ Permission on VOSpace actions.
Parameters: - identity – user object (type defined by implementation)
- permission –
createNode: called on a 6.2.1 createNode request. context: tuple(
parent Node,Node)getNode: called on a 6.3.1 setNode request. context:
NodesetNode: called on a 6.3.2 setNode request. context:
NodemoveNode: called on a 6.2.2 moveNode request. context: tuple(
src Node,dest Node)copyNode: called on a 6.2.3 copyNode request. context: tuple(
src Node,dest Node)deleteNode: called on a 6.2.4 deleteNode request. context:
NodecreateTransfer: called when a UWS transfer job is to be created (Push, Pull, Move, Copy) context:
TransferdataTransfer: called when a UWS push or pull data transfer job is to be created. context:
UWSJobrunJob: called when a UWS job is to be run. context:
UWSJobabortJob: called when a UWS job is to be aborted. context:
UWSJob
Returns: True if action can be performed on behalf of the user; False otherwise.
-
setup(abstract_space)¶ Setup VOSpace metadata services.
Parameters: abstract_space – AbstractSpace
-
shutdown()¶ Shutdown VOSpace metadata services.
-
class
pyvospace.server.space.SpacePermission¶ -
permits(identity: object, permission: str, context: object)¶ Permission on VOSpace actions.
Parameters: - identity – user object (type defined by implementation)
- permission –
createNode: called on a 6.2.1 createNode request. context: tuple(
parent Node,Node)getNode: called on a 6.3.1 setNode request. context:
NodesetNode: called on a 6.3.2 setNode request. context:
NodemoveNode: called on a 6.2.2 moveNode request. context: tuple(
src Node,dest Node)copyNode: called on a 6.2.3 copyNode request. context: tuple(
src Node,dest Node)deleteNode: called on a 6.2.4 deleteNode request. context:
NodecreateTransfer: called when a UWS transfer job is to be created (Push, Pull, Move, Copy) context:
TransferdataTransfer: called when a UWS push or pull data transfer job is to be created. context:
UWSJobrunJob: called when a UWS job is to be run. context:
UWSJobabortJob: called when a UWS job is to be aborted. context:
UWSJob
Returns: True if action can be performed on behalf of the user; False otherwise.
-
-
class
pyvospace.core.model.Parameter(uri, value)¶ VOSpace Parameter.
Parameters: - uri – uri.
- value – value.
e.g. ivo://ivoa.net/vospace/core#length value: 1024
-
class
pyvospace.core.model.Property(uri, value, read_only=True, persist=True)¶ VOSpace Property.
Parameters: - uri – uri.
- value – value.
e.g. uri: ivo://ivoa.net/vospace/core#length value: 1024
-
class
pyvospace.core.model.SecurityMethod(url)¶ SecurityMethod required for PushToSpace or PullFromSpace.
Parameters: url – url. e.g. url: ivo://ivoa.net/sso#cookie
-
class
pyvospace.core.model.Endpoint(url)¶ Storage Endpoint.
Parameters: url – url. e.g. url: https://localhost:8000/pushtospace/
-
class
pyvospace.core.model.Protocol(uri, endpoint=None, security_method=None)¶ Baseclass for storage protocol.
-
class
pyvospace.core.model.Protocols(accepts, provides)¶ Protocols that a VOSpace accepts and provides.
Parameters:
-
class
pyvospace.core.model.Properties(accepts, provides)¶ Properties that the VOSpace accepts and provides.
Parameters:
-
class
pyvospace.core.model.HTTPPut(endpoint=None, security_method=None)¶ HTTPPut Protocol.
Parameters: - endpoint –
Endpoint - security_method –
SecurityMethod
- endpoint –
-
class
pyvospace.core.model.HTTPGet(endpoint=None, security_method=None)¶ HTTPGet Protocol.
Parameters: - endpoint –
Endpoint - security_method –
SecurityMethod
- endpoint –
-
class
pyvospace.core.model.HTTPSPut(endpoint=None, security_method=None)¶ HTTPSPut Protocol.
Parameters: - endpoint –
Endpoint - security_method –
SecurityMethod
- endpoint –
-
class
pyvospace.core.model.HTTPSGet(endpoint=None, security_method=None)¶ HTTPSGet Protocol.
Parameters: - endpoint –
Endpoint - security_method –
SecurityMethod
- endpoint –
-
class
pyvospace.core.model.Views(accepts, provides)¶ Views into and out of the VOSpace.
Parameters:
-
class
pyvospace.core.model.View(uri)¶ VOSpace view.
Parameters: uri – uri. e.g. Using ivo://ivoa.net/vospace/core#tar on a container node will tell the space the user wants a tar for that nodes tree.
-
class
pyvospace.core.model.Node(path, properties=None, capabilities=None, owner=None, group_read=None, group_write=None, id=None)¶ Node representation for the VOSpace.
Parameters: - path – space path. e.g. node/container/data1
- properties – list of
Property - capabilities – capabilities of the space.
- owner – Server side only property.
- group_read – Server side only property.
- group_write – Server side only property.
- id – Server side only property.
-
class
pyvospace.core.model.LinkNode(path, uri_target, properties=None, capabilities=None, owner=None, group_read=None, group_write=None, id=None)¶ LinkNode representation for the VOSpace.
Parameters: - path – space path. e.g. node/container/data1
- properties – list of
Property - capabilities – capabilities of the space.
- owner – server side only property.
- group_read – server side only property.
- group_write – server side only property.
- id – server side only property.
-
class
pyvospace.core.model.DataNode(path, properties=None, capabilities=None, accepts=None, provides=None, busy=False, owner=None, group_read=None, group_write=None, id=None)¶ DataNode representation for the VOSpace.
Parameters: - path – space path. e.g. node/container/data1
- properties – list of
Property - capabilities – capabilities of the space.
- accepts – list of
View - provides – list of
View - busy – set node to busy.
- owner – server side only property.
- group_read – server side only property.
- group_write – server side only property.
- id – server side only property.
-
class
pyvospace.core.model.ContainerNode(path, nodes=None, properties=None, capabilities=None, accepts=None, provides=None, busy=False, owner=None, group_read=None, group_write=None, id=None)¶ ContainerNode representation for the VOSpace. This Node can contain other
Nodewhich can represent a tree structure.Parameters: - path – space path. e.g. node/container/data1
- nodes – list of
Node - properties – list of
Property - capabilities – capabilities of the space.
- accepts – list of
View - provides – list of
View - busy – set node to busy.
- owner – server side only property.
- group_read – server side only property.
- group_write – server side only property.
- id – server side only property.
-
class
pyvospace.core.model.Transfer(target, direction)¶ Base class for a VOSpace Transfer request.
-
class
pyvospace.core.model.NodeTransfer(target, direction, keep_bytes)¶ Base class for a VOSpace node transfer request (Copy or Move).
Parameters:
-
class
pyvospace.core.model.ProtocolTransfer(target, direction, protocols=None, view=None, params=None)¶ Base class for VOSpace protocol transfer request.
Parameters:
-
class
pyvospace.core.model.Copy(target, direction)¶ Copy for VOSpace request.
Parameters:
-
class
pyvospace.core.model.Move(target, direction)¶ Move for VOSpace request.
Parameters:
-
class
pyvospace.core.model.PushToSpace(target, protocols=None, view=None, params=None)¶ Push to VOSpace transfer request.
Parameters:
-
class
pyvospace.core.model.PullFromSpace(target, protocols=None, view=None, params=None, redirect=True)¶ Pull from VOSpace transfer request.
Parameters:
-
pyvospace.core.model.UWSPhase¶
-
class
pyvospace.core.model.UWSResult(id, attrs)¶