Développement d'un script Python automatisé pour la synchronisation quotidienne d'une bibliothèque musicale via l'outil SpotDL, avec gestion des erreurs par email et planification via Crontab.
import spotdl
from crontab import CronTab
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
# Configuration des chemins
MUSIC_DIR = "/media/nas/music"
PLAYLIST_FILE = "/scripts/playlists.txt"
LOG_FILE = "/scripts/spotdl_sync.log"
# Configuration automatique dans cron
cron = CronTab(user=True)
job = cron.new(command='python3 /scripts/music_sync.py')
job.hour.on(2) # Exécution quotidienne à 2h
cron.write()
def send_notification(subject, message):
# Envoi de notifications par email en cas d'erreur ou résumé
# [code implémenté]
def sync_playlists():
# Logique principale de synchronisation
# [code implémenté]
if __name__ == "__main__":
sync_playlists()
Titres synchronisés par mois
Taux de réussite des synchronisations