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:
Node
setNode: called on a 6.3.2 setNode request. context:
Node
moveNode: 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:
Node
createTransfer: called when a UWS transfer job is to be created (Push, Pull, Move, Copy) context:
Transfer
dataTransfer: called when a UWS push or pull data transfer job is to be created. context:
UWSJob
runJob: called when a UWS job is to be run. context:
UWSJob
abortJob: 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:
Node
setNode: called on a 6.3.2 setNode request. context:
Node
moveNode: 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:
Node
createTransfer: called when a UWS transfer job is to be created (Push, Pull, Move, Copy) context:
Transfer
dataTransfer: called when a UWS push or pull data transfer job is to be created. context:
UWSJob
runJob: called when a UWS job is to be run. context:
UWSJob
abortJob: 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:
Node
setNode: called on a 6.3.2 setNode request. context:
Node
moveNode: 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:
Node
createTransfer: called when a UWS transfer job is to be created (Push, Pull, Move, Copy) context:
Transfer
dataTransfer: called when a UWS push or pull data transfer job is to be created. context:
UWSJob
runJob: called when a UWS job is to be run. context:
UWSJob
abortJob: 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
Node
which 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)¶