Legacy backendsΒΆ

The default file structure on the backend has changed with version 1.0.0.

Before, a file /sub/file.txt with version 1.0.0 was stored under

/sub/file/1.0.0/file-1.0.0.txt

Now it is stored under

/sub/1.0.0/file.txt

To force the old file structure use the audbackend.interface.Maven interface. We recommend this for existing repositories that store files under the old structure. If you have to store files that contain a dot in its file extension, you have to list those extensions explicitly.

import audbackend

audbackend.backend.FileSystem.create("./host", "repo")
backend = audbackend.backend.FileSystem("./host", "repo")
backend.open()
interface = audbackend.interface.Maven(backend, extensions=["tar.gz"])

Afterwards we upload an TAR.GZ archive and check that it is stored as expected.

import audeer
import tempfile

with tempfile.TemporaryDirectory() as tmp:
    audeer.touch(audeer.path(tmp, "file.txt"))
    interface.put_archive(tmp, "/file.tar.gz", "1.0.0")

audeer.list_file_names("./host", recursive=True, basenames=True)
['repo/file/1.0.0/file-1.0.0.tar.gz']