diff --git a/gufe/storage/storagemanager.py b/gufe/storage/storagemanager.py index 5b0971b0..4ba4c7a0 100644 --- a/gufe/storage/storagemanager.py +++ b/gufe/storage/storagemanager.py @@ -67,15 +67,21 @@ def append_to_namespace(namespace: str, filename: str) -> str: # We opt _not_ to use Paths because these aren't actually path objects return f"{namespace}/{filename}" - def register(self, filename: str): + def register(self, filename: str) -> str: """Register a filename for later transfer to external storage. Parameters ---------- filename : str The filename to register for transfer. + + Returns + ------- + str + The globally namespaced path to be used by other units """ self.registry.add(filename) + return self.append_to_namespace(self.namespace, filename) def load(self, filename: str) -> bytes: """Load an item from external storage. diff --git a/gufe/tests/storage/test_storagemanager.py b/gufe/tests/storage/test_storagemanager.py index 8eca4a08..89842dea 100644 --- a/gufe/tests/storage/test_storagemanager.py +++ b/gufe/tests/storage/test_storagemanager.py @@ -80,7 +80,8 @@ def test_register(self, storage_manager): assert filename not in storage_manager # Register the file - storage_manager.register(filename) + out = storage_manager.register(filename) + assert out == storage_manager.append_to_namespace(storage_manager.namespace, filename) # Check it's now in the registry assert filename in storage_manager.registry