/! Mise à jour Importante !!
Depuis 2013 le script (version 1.9), a été directement intégré dans SynoCommunity SABnzbd (Merci Diaoul !! ).
Pour ceux qui n'ont encore rien installé, vous pouvez directement allé à la section 8.
Le répertoire "Script" avec l'installation par défaut est:
/usr/local/sabnzbd/var/scripts
Cependant le package SynoCommunity va installé le script uniquement si SABnzbd n'est pas déjà installé !!
Si vous faites une mise à jour d'une version existante, alors vous devez
suivre le tuto en entier!!! Ou tout désinstaller puis tout
réinstaller.... C'est vous qui voyez...
/! Fin de mise à jour
Au cas où vous considéreriez que les heures passées méritent quelque chose:
MAIS, merci de faire un don à SABnzbd et SynoCommunity d'abord et si il vous reste quelques piécettes alors vous pouvez penser à moi.
Ce que ce script peut faire pour vous:
Le script permet de corriger les problèmes d'accents lorsque SABnzbd tourne sur un NAS Synology.
Il inclue aussi les options suivantes (le script doit être édité pour les activer/désactiver):
Fonction pour décompresser les archives .7z (Activer par défaut)
Fonction pour déplacer le répertoire vers une destination au choix: 2 modes possible, un mode qui écrase, un mode qui fusionne. (Désactiver par défaut)
Fonction pour indexer automatiquement le répertoire dans le DLNA du Syno. (Désactiver par défaut)
Fonction pour envoyer le répertoire vers SickBeard (NB: le script sabToSickBeard.py doit être configuré et fonctionnel). (Désactiver par défaut)
Attention: les options DLNA/SickBeard sont exclusive. C'est soit l'une, soit l'autre. Si vous voulez les 2 en même temps, il faut configurer l'indexeur DLNA dans l'interface de SickBeard.
[Edit du 2 Octobre 2013]
Correction d'un problème de post-processing avec Sickbeard quand le répertoire contient un caractère spécial.
La version du script est maintenant affiché pour faciliter le suivi pour le debug.
Cette version n'est pas inclus dans le package SynoCommunity SABnzbd
Il faut suivre le tuto, puis aller dans la section options pour activer celles qui vous intéresse.
Si vous utilisez déjà ce script, il faut suivre les étapes 1 à 6 pour mettre à jour.
Depuis le début d'année j'ai reçu 1 seul et unique don par un Hollandais. Alors soyez sympa pensez à moi! Surtout que je viens de me faire licencier économique depuis 1mois... D'un autre côté le script ne représente pas grand chose par rapport au boulot que doit fournir l'équipe SABnbzd et Diaoul, mais il rend quand même bien service...
[Edit du 2 Octobre 2013]
[Edit du 19 Février 2013]
Ajout d'une option pour activer le post-processing Sickbeard.
Fonction 'Move' plus évolué (2 modes).
Rajout d'une fonction que je n'aurai pas dû retirer.
Utilisation du code page cp850 au lieu de cp437.
Cette version est inclus dans le package SynoCommunity SABnzbd à partir de la version 0.7.14
[Edit du 19 Février 2013]
TIP: Vous pouvez utiliser le package de Mertymade pour éditer vos fichier de config:
Config File Editor
Lancer l'application depuis DSM, puis sélectionnez Config File Editor dans la list, ajoutez la ligne suivante au début ou à la fin (exemple pour le package SynoCommunity):
/usr/local/sabnzbd/var/scripts/CharTranslator.py,CharTrans
Cliquez sur "Save", quittez, puis relancez l'application Config File Editor et voilà! Le script est éditable depuis DSM.
J'utilise les SPKs fournis par www.synocommunity.com, en particulier SABnzbd.
Oui mais voilà, il y a une problème ennuyeux avec les fichiers français: quand il y a des accents on ne peut pas accéder aux fichiers avec Samba (disque réseau du Syno). Il faut alors tout renommer par SSH avant de pouvoir s'en servir. Voici ma solution basée sur un script Python utilisant le post-processing sous SABnzbd.
1- Téléchargez le script:
2- Sauvez le fichier sur le NAS.
3- Connectez-vous sur votre NAS avec Telnet en tant que root (pas admin) et allez dans le répertoire où le fichier ZIP a été enregistré.
Par ex:
cd /volume1/public
4- unzipper le fichier. Sous telenet
unzip CharTranslator_1v5.zip
/! Attention /! Si vous utilisez une autre source que synocommunity.com vous devez mettre à jour la 1er ligne du script, afin d'indiquer le chemin où se trouve la commande python.
SynCommunity (par défaut dans fichier ZIP):
#!/usr/local/python/bin/python -OO
SPK MertyMade:
#!/var/packages/pythonutils/target/utils/bin/python -OO
ou
#!/volume1/@appstore/sab2/utils/bin/python -OO
A vous de vérifier avec une session Telenet
SPK Zebulon:
#!/usr/local/python26/bin/python -OO
5- Mettez les bons droits Unix.
Sous telenet:
chmod 777 CharTranslator.py
6- Déplacez le script dans le répertoire (N'oubliez pas de créer le répertoire... ) où le script va être stocké. Par ex:
mkdir /volume1/download/SABnzbdScripts
mv CharTranslator.py /volume1/download/SABnzbdScripts
Si vous utilisez la version SynoCommunity, écrasez la version existante
cp -rf CharTranslator.py /usr/local/sabnzbd/var/scripts/CharTranslator.py
Config -> Folder, spécifiez le répertoire où le script va être stocké (c'est la champ Post-Processing Scripts Folder). Par ex dans mon cas /volume1/download/SABnzbdScripts. Cliquez sur le bouton Save Changes.
8- Finalement allez dans: Config -> Categories. Vous pouvez mettre à jour la catégorie par défaut. En effet une colonne script est disponible, afin de sélectionner le script CharTranslator.py.Cliquez sur le bouton à droite Save.
/! Attention /! le fichier doit être au format Unix! Si vous voulez modifier le fichier depuis Windows, vous pouvez utiliser le super éditeur Notepad++. N'oubliez pas de sauvegarder le fichier au format Unix (Edit -> EOL Conversion -> Unix).
Si vous avez un message d'erreur du genre: -ash: CharTranslator.py: not found le fichier est certainement au format Windows. Pour rappel: les retours à la ligne sont différent dans le monde Unix.
Et voilà !!
Le script est récursif, donc tous les fichiers et sous répertoire vont être scannés et modifié si nécessaire.
Si tout se passe correctement, vous devriez obtenir le message suivant:
Character encoding translation done! (More)
Décompresser les fichiers au format .7z:
Le répertoire va être scanné de façon récursive et tous les fichiers .7z vont être décompressés.
Cette option est activée par défaut. Si vous ne voulez pas de cette option, alors vous devez modifier la ligne suivante:
Ligne 76:
Unpack7z = True
doit être modifié par:
Unpack7z = False
Ajouter lindexation DLNA avec synoindex:
J'ai eu une demande sur le forum officiel de SABnzbd; un des membres utilise le répertoire de téléchargement de SABnzbd comme destination finale pour ces fichiers vidéo/audio. Il m'a demandé comment lancer l'indexation DLNA, car SABnzbd ne permet pas de lancer 2 post-processing. Pour ceux qui seraient aussi intéressé par cette caractéristique, voici la procédure à suivre:
Ligne 68:
IndexInSynoDLNA = False
doit être modifié par:
IndexInSynoDLNA = True
Le répertoire de destination spécifié par Sabnzbd va être automatiquement indexé dans le DLNA.
Attention: cette fonction ne peut pas être utilisé en même temps que l'option SickBeardPostProcessing
Envoyer un téléchargement fini vers SickBeard:
NB: le script sabToSickBeard.py doit être configuré et fonctionnel
Activer cette option permet d'envoyer le téléchargement vers le post-processing de ScikBeard
Ligne 72:
SickBeardPostProcessing = False
doit être modifié par:
SickBeardPostProcessing = True
Attention: les options DLNA/SickBeard sont exclusive. C'est soit l'une, soit l'autre. Si vous voulez les 2 en même temps, il faut configurer l'indexeur DLNA dans l'interface de SickBeard.
Interface graphique SickBeard -> Config -> Notifications -> Enable 'Synology Indexer'
Déplacer un téléchargement fini:
Vous pouvez déplacer le répertoire dans une autre destination.
Ligne 51:
MoveToThisFolder = ''
doit être modifié par:
MoveToThisFolder = 'Chemin de destination des downloads'
par ex:
MoveToThisFolder = '/volume1/video/news'
Le déplacement a 2 modes possibles:
Le déplacement par défaut est l'équivalent d'un mv -f. C'est un genre de copie incrémental: rien n'est effacé, seul les fichiers portant le même nom sont écrasés par les plus récents (équivalent au déplacer/remplacer de Windows)
Si vous voulez qu'en cas de conflit, le sous-répertoire soit entièrement remplacé par le nouveau (équivalent a un déplacement sous MacOSx), alors il faut désactiver l'option suivante.
Ligne 62:
MoveMergeSubFolder = True
doit être modifié par:
MoveMergeSubFolder = False
Évidemment ces 3 options peuvent être cumulées.
1- Unpack les fichier .7z
2- Corrige les problèmes d'accents
3- Déplace le répertoire dans la destination spécifiée
4- Ajout des fichiers multimedia dans le DLNA du Syno.
Finalement pour ceux qui sont intéressé uniquement pout la fonction 7z unpack avec SickBeard:
Si seul la décompression 7z vous intéresse en particulier avec SickBeard, alors voici un mini Tuto:
1- Téléchargez le script:
2- Sauvez le fichier sur le NAS.
3- Connectez-vous sur votre NAS avec Telnet et allez dans le répertoire où le fichier ZIP a été enregistré.
Par ex:
cd /volume1/public
4- unzipper le fichier. Sous telenet
unzip sabToSickBeard_1v1.zip
/! Attention /! Si vous utilisez une autre source que synocommunity.com vous devez mettre à jour la 1er ligne du script, afin d'indiquer le chemin où se trouve la commande python (Voir début du tuto).
5- Mettez les bons droits Unix.
Sous telenet:
chmod 777 sabToSickBeard.py
6- Si vous utilisez la version SynoCommunity, écrasez la version existante
cp -rf sabToSickBeard.py /usr/local/sickbeard/share/SickBeard/autoProcessTV/sabToSickBeard.py
Et voilà les NZB au format .7z vont être décompressé avant d'être envoyé à SickBeard.
Have fun folks !!
Je suis preneur de tout les commentaires.
PS: Le script peut être exécuté en commande en ligne sous une session telenet à condition qu'aucune option n'est été activée .
Par ex: /volume1/download/SABnzbdScripts/CharTranslator.py "Nom du répertoire qui doit être corrigé"
Si vous exécutez depuis le répertoire où le script est, la commande est:
./CharTranslator.py "Nom du répertoire qui doit être corrigé"
/! Attention /! Ce script est a utilisé à vos risques et périls. Cependant, même si le script se trompe sur le format d'encodage, les fichiers seront tout de même lisible par Samba. Donc, au pire, vous devrez renommer manuellement les fichiers/répertoires.