Source code for Acquire.Registry._get_registry_details


__all__ = ["get_registry_details", "update_registry_keys_and_certs"]

_testing_registry = {
    "canonical_url": "registry",
    "uid": "Z9-Z9",
    "public_key": None,
    "public_certificate": None}

_acquire_registry = {
    "canonical_url": "http://fn.acquire-aaai.com:8080/t/registry",
    "uid": "a0-a0",
    "public_key": None,
    "public_certificate": None}

_registries = {_testing_registry["uid"]: _testing_registry,
               _acquire_registry["uid"]: _acquire_registry}


[docs]def update_registry_keys_and_certs(registry_uid, public_key, public_certificate): """This function is called to update the registry details stored globally with those in the newly-created registry-service. This function should only be called by registry services after construction """ if registry_uid not in _registries: raise PermissionError( "Cannot update registry details as this is not one of the " "centrally approved registries!") from Acquire.Crypto import PublicKey as _PublicKey if type(public_key) is not _PublicKey: raise TypeError("The public key must be type PublicKey") if type(public_certificate) is not _PublicKey: raise TypeError("The public certificate must be type PublicKey") r = _registries[registry_uid] r["public_key"] = public_key.to_data() r["public_certificate"] = public_certificate.to_data() _registries[registry_uid] = r
[docs]def get_registry_details(registry_uid): """Return the details for the registry with specified UID. Note that this will only return details for the approved and centrally-registered registries. This returns a dictionary with key registry details. """ try: registry = _registries[registry_uid] except: registry = _registries["a0-a0"] if registry["public_key"] is None: try: from importlib import import_module as _import_module _keys = _import_module("._keys_%s" % registry_uid, package="Acquire.Registry") registry["public_key"] = _keys.public_key registry["public_certificate"] = _keys.public_certificate except: pass import copy as _copy return _copy.copy(registry)