audeering / audb

Manage audio and video databases
https://audeering.github.io/audb/
Other
23 stars 1 forks source link

Mirror database to another repository #3

Open hagenw opened 3 years ago

hagenw commented 3 years ago

Currently, it's not possible to publish a database on two different repositories with the same version. This prevents ending up with different databases published under the same version. However, we maybe want to mirror a database to another repository. I propose to implement audb.mirror() for this use-case.

hagenw commented 2 years ago

I'm still not sure if we should add such a functionality or not. Usually, I would argue that the backends are responsible for mirroring repositories, e.g. you can create mirrors in Artifactory. But in reality it might happen that you want to copy a repository from backend A to a different backend B and continue working only with backend B.

It might be that we can simply do this with audbackend, but i'm not sure how easy it would be to migrate from one backend to another one.

frankenjoe commented 2 years ago

It might be that we can simply do this with audbackend, but i'm not sure how easy it would be to migrate from one backend to another one.

Once we have fixed ls(), it might be as simple as:

for file in from_backend.ls('.', recursive=True):
    path = from_backend.get_file(file, '~.tmp')
    to_backend.put_file(path, file)