Commit 064478ef authored by Grégory DAVID's avatar Grégory DAVID

Ajout d'un check permettant de vérifier la présence d'audiotools lors d'un './manage.py check'

parent c2f77ccc
Pipeline #61419 failed with stage
in 4 minutes and 11 seconds
......@@ -5,6 +5,7 @@ Définition des champs de modèle pour la gestion de la diffusion
import logging
import audiotools
from django.core import checks
from django.db.models.fields import files
from . import forms
......@@ -20,7 +21,7 @@ class SoundFieldFile(sounds.SoundFile, files.FieldFile):
"""
Effectue la suppression du fichier dans le storage
keep_file: booléen, permet de controuner cette destruction
keep_file: booléen, permet de contourner cette destruction
"""
# Nettoie le cache des données associées au fichier ayant déjà été ouvert
if hasattr(self, '_duree_cache'):
......@@ -45,6 +46,26 @@ class SoundField(files.FileField):
def __init__(self, verbose_name=None, name=None, **kwargs):
super().__init__(verbose_name, name, **kwargs)
def check(self, **kwargs):
errors = super().check(**kwargs)
errors.extend(self._check_audiotools_library_installed())
return errors
def _check_audiotools_library_installed(self):
try:
import audiotools
except ImportError:
return [
checks.Error(
'Cannot use SoundField because audiotools is not installed.',
hint=('Get audiotools at https://pypi.python.org/pypi/audiotools '
'or run command "pip install fmoo-audiotools".'),
obj=self,
)
]
else:
return []
def get_internal_type(self):
return "SoundField"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment