Impossible d'utiliser os.rename sur des FS différents
Problème
Dans les essais menés sur une clef liveUSB, l'ajout d'une Piste
ou d'un Episode
résulte d'un échec OSError
avec le code erreur Errno 18: Inavlid cross-device link: '/radio/uploads/xxx.mp3' -> '/tmp/tmp6613nrr4'
.
Identification
Sur le système liveUSB le répertoire /tmp
est monté avec le système de fichiers tmpfs
, qui est différent de celui du stockage MEDIA_ROOT
.
Correction envisagée
Créer le fichier temporaire non plus dans l'espace standard /tmp
, mais dans le même répertoire (ou un descendant) que MEDIA_ROOT
. Voir tempfile.NamedTemporaryFile(dir=xx)