Source code for Acquire.Access._access_service


import uuid as _uuid
from copy import copy as _copy

from Acquire.Service import Service as _Service

__all__ = ["AccessService"]


[docs]class AccessService(_Service): """This is a specialisation of Service for Access Services Where Service represents a service in the system. Services will either be identity services, access services, storage services or accounting services """ def __init__(self, other=None): if isinstance(other, _Service): self.__dict__ = _copy(other.__dict__) if not self.is_access_service(): from Acquire.Access import AccessServiceError raise AccessServiceError( "Cannot construct an AccessService from " "a service which is not an access service!") else: _Service.__init__(self) def _call_local_function(self, function, args): """Internal function called to short-cut local 'remote' function calls Args: function: function to route args: arguments to be passed into function Returns: function: function object """ from access.route import access_functions as _access_functions from admin.handler import create_handler as _create_handler handler = _create_handler(_access_functions) return handler(function=function, args=args)
[docs] def get_trusted_storage_service(self): """Return a trusted storage service Returns: :obj:`dict`: containing the first storage device on the trusted service """ from Acquire.Service import get_trusted_services \ as _get_trusted_services services = _get_trusted_services() try: return services["storage"][0] except: from Acquire.Service import ServiceError raise ServiceError( "There is no trusted storage service known to this access " "service")