Minimouse Posté(e) le 24 août 2012 Partager Posté(e) le 24 août 2012 En bidoullant, j'ai pu obtenir ce que je voulais. J'ai modifié : 1. Les constantes : MIME_CORRESPONDANCE = {'video': 'video'} INDEX_FOLDER_CONF = '/usr/syno/etc/index_folder_video_only.conf' et crée le fichier correspondant avec dedans, juste le dossier video d'indexé. 2. Les valeurs par défaut des options de la ligne de commande (ainsi SABnzbd peut lancer le script sans paramètres) : # Initialization add = True clean_db = False clean_orphans = True del_dbl_indexed = True path = [] test = False verbose = 0 # if not len(opts): # print usage # sys.exit() J'ai aussi retiré le lancement de la procédure de suppression des répertoires ea@Dir car je trouvais que cela prenait trop de temps. # self._cleanEaDir() Et ça marche ! :-) Merci encore pour ce script génialissime. Mini. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
MrWaloo Posté(e) le 25 août 2012 Auteur Partager Posté(e) le 25 août 2012 Salut, S'il t'est possible de passer en paramètre le répertoire de destination du téléchargement, tu peux faire ceci sans modification du script : chemin/vers/index_updater -a -p /répertoire/destination/des/téléchargements/ Pourquoi modifier les paramètres par défaut au lieu de passer les bonnes options ? Il n'est pas possible de passer des options au script lancé par SABnzbd ? En tout cas, je suis content que ça serve à quelqu'un d'autre ! A+ Michel 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 2 septembre 2012 Partager Posté(e) le 2 septembre 2012 (modifié) Je dois avoir loupé un truc ou mal compris le principe car j'ai l'impression que l'option "-p" ne marche pas pour moi et que ça parcourt tous les dossiers a chaque fois: Exemple: root@fserv> /site/bin/run index_updater.py -a -p /volume1/music/podcasts -v 2 INFO - These directories will be checked: INFO - - '/volume1/music/podcasts' INFO - Start INFO - Media server enabled: START INFO - Configuration read : {'photo': {'path': '/volume1/photo', 'index_mime': {'image': True, 'audio': False, 'video': False}}, 'video': {'path': '/volume1/video', 'index_mime': {'image': False, 'audio': False, 'video': True}}, 'music': {'path': '/volume1/music', 'index_mime': {'image': False, 'audio': True, 'video': False}}, 'homes': {'index_mime': {'image': False, 'audio': False, 'video': False}, 'path': '/volume1/homes'}} INFO - *-* Working on share [photo] whose path is '/volume1/photo' INFO - [photo] is to be indexed INFO - *-* Working on share [video] whose path is '/volume1/video' INFO - [video] is to be indexed INFO - *-* Working on share [music] whose path is '/volume1/music' INFO - [music] is to be indexed INFO - *-* Working on share [homes] whose path is '/volume1/homes' INFO - [homes] is NOT to be indexed INFO - End Modifié le 2 septembre 2012 par CoolRaoul 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
MrWaloo Posté(e) le 5 septembre 2012 Auteur Partager Posté(e) le 5 septembre 2012 (modifié) Salut, Tu peux poster le contenu du fichier index_updater.log créé à coté du script index_updater.py. Dans ce fichier tout y est réellement détaillé, ça me permettra d'analyser... Tu as installé python depuis ipkg ou depuis le centre de paquets ? Si tu l'as installé depuis ipkg (ainsi que psycopg2), que donne ./index_updater.py -a -p /volume1/music/podcasts -v 2 Quels sont les paquets que tu as installés depuis le centre de paquets ? A+ Michel Modifié le 5 septembre 2012 par MrWaloo 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
MrWaloo Posté(e) le 5 septembre 2012 Auteur Partager Posté(e) le 5 septembre 2012 (modifié) Je pense avoir trouvé... Peux-tu ajouter ceci à la ligne 522 self._dirTreatment(dirpath) de sorte que le code ressemble à ceci: ... if enable: self._dirTreatment(dirpath) # Loop over the files for name in filenames: ... mais avec le même retrait (ajouter 4 espaces, aucune tabulation pour l'indentation) A+ Michel Modifié le 5 septembre 2012 par MrWaloo 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 5 septembre 2012 Partager Posté(e) le 5 septembre 2012 (modifié) Je pense avoir trouvé... Peux-tu ajouter ceci à la ligne 522 self._dirTreatment(dirpath) de sorte que le code ressemble à ceci: ... if enable: self._dirTreatment(dirpath) # Loop over the files for name in filenames: ... mais avec le même retrait (ajouter 4 espaces, aucune tabulation pour l'indentation) Me semble que c'est bon, je vais essayer de t'envoyer le log en MP pour vérifier Au passage, deux petites requetes d'évolution: génération du log facultative choix du chemin du fichier log Modifié le 5 septembre 2012 par CoolRaoul 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
MrWaloo Posté(e) le 5 septembre 2012 Auteur Partager Posté(e) le 5 septembre 2012 Au passage, deux petites requetes d'évolution: génération du log facultative choix du chemin du fichier log Pour la génération du log facultative, si tu ne mets pas l'option -v 2, c'est bon. -v 1 montre les INFO, mais ne fait pas de log. le log est à titre de debug... donc c'est hyper épisodique Sans mettre -v du tout, pas de log ni d'info... Si tu me dis que c'est bon, j'officialise le code (et y ajoute 2 petites choses, suite à la mise à jour DSM 4.1). Mes essais sont pertinents pour ce point en tout cas. A+ Michel 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 5 septembre 2012 Partager Posté(e) le 5 septembre 2012 Si tu me dis que c'est bon, j'officialise le code (et y ajoute 2 petites choses, suite à la mise à jour DSM 4.1). Mes essais sont pertinents pour ce point en tout cas. Dans ce cas c'est ok pour moi 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
MrWaloo Posté(e) le 5 septembre 2012 Auteur Partager Posté(e) le 5 septembre 2012 Et d'après le log, c'est effectivement OK. C'est donc officiel, j'ai de quoi faire ces prochains temps ! 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
MrWaloo Posté(e) le 9 septembre 2012 Auteur Partager Posté(e) le 9 septembre 2012 Mise à jour effectuée, rendez-vous sur le même page de téléchargement que décrit dans le premier post 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
sleeper0 Posté(e) le 10 septembre 2012 Partager Posté(e) le 10 septembre 2012 Bonjour, je viens de tester le script mais il ne marche pas chez moi. Je suis en DSM 4.1 sur un DS110J avec python 2.7 Ca me donne ça : DiskStation> /volume1/@appstore/Python/usr/bin/python2.7 index_updater.py -A -t -v 2 File "index_updater.py", line 87 for i in range(len(self.path): ^ SyntaxError: invalid syntax Si ca peut aider 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
MrWaloo Posté(e) le 10 septembre 2012 Auteur Partager Posté(e) le 10 septembre 2012 (modifié) C'est corrigé, mais je ne sais pas si ça fonctionne avec python du centre de paquets... Il faut un module (une dépendance) qui n'est peut être pas installée... Quand tu lances la console python : /volume1/@appstore/Python/usr/bin/python2.7 Que se passe-t-il si tu fais : import psycopg2[/code] Si ça te retourne une erreur, je te conseille de suivre le tutoriel (1er post). A+ Michel Modifié le 10 septembre 2012 par MrWaloo 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
MrWaloo Posté(e) le 16 septembre 2012 Auteur Partager Posté(e) le 16 septembre 2012 J'ai fait l'essai moi-même avec le paquet Python de Synology, pas de problème, ça fonctionne. Par contre, j'ai fait l'essai avec le paquet python de SynoCommunity, psycopg2 n'est pas installé, donc ça ne fonctionne pas. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Amsonia Posté(e) le 18 septembre 2012 Partager Posté(e) le 18 septembre 2012 Je viens de d/l la dernière version du script et suis sous DSM 4.1 v2636. Malgré un python2.6 index_updater.py -A -v 1 -p /volume1/music le script a quand même supprimé un enregistrement orphelin d'un sous-dossier de /volume1/video ! INFO - These directories will be checked: INFO - - '/volume1/music' INFO - Start INFO - Media server enabled: START INFO - Configuration read : {'photo': {'path': '/volume1/photo', 'index_mime': {'image': True, 'audio': False, 'video': False}}, 'video': {'path': '/volume1/video', 'index_mime': {'image': False, 'audio': False, 'video': True}}, 'music': {'path': '/volume1/music', 'index_mime': {'image': False, 'audio': True, 'video': False}}, 'homes': {'index_mime': {'image': False, 'audio': False, 'video': False}, 'path': '/volume1/homes'}} INFO - *-* Working on share [photo] whose path is '/volume1/photo' INFO - [photo] won't be indexed because it is not included in the path list INFO - *-* Working on share [video] whose path is '/volume1/video' INFO - [video] won't be indexed because it is not included in the path list INFO - *-* Working on share [music] whose path is '/volume1/music' INFO - [music] is to be indexed INFO - Add directory '/volume1/music/ELECTRO/Breakbot - By Your Side (2012) [FLAC]' INFO - Add file in DB '/volume1/music/ELECTRO/Breakbot - By Your Side (2012) [FLAC]/01 - Break of Dawn.flac' INFO - Add file in DB '/volume1/music/ELECTRO/Breakbot - By Your Side (2012) [FLAC]/08 - Programme.flac' INFO - Add file in DB '/volume1/music/ELECTRO/Breakbot - By Your Side (2012) [FLAC]/11 - Another Dawn (feat. Irfane).flac' INFO - Add file in DB '/volume1/music/ELECTRO/Breakbot - By Your Side (2012) [FLAC]/03 - One Out of Two (feat. Irfane).flac' INFO - Add file in DB '/volume1/music/ELECTRO/Breakbot - By Your Side (2012) [FLAC]/04 - By Your Side, Part 1 (feat. Pacific!).flac' INFO - Add file in DB '/volume1/music/ELECTRO/Breakbot - By Your Side (2012) [FLAC]/05 - By Your Side, Part 2 (feat. Pacific!).flac' INFO - Add file in DB '/volume1/music/ELECTRO/Breakbot - By Your Side (2012) [FLAC]/09 - Easy Fraction.flac' INFO - Add file in DB '/volume1/music/ELECTRO/Breakbot - By Your Side (2012) [FLAC]/02 - Fantasy (feat. Ruckazoid).flac' INFO - Add file in DB '/volume1/music/ELECTRO/Breakbot - By Your Side (2012) [FLAC]/13 - A Mile Away (feat. Irfane).flac' INFO - Add file in DB '/volume1/music/ELECTRO/Breakbot - By Your Side (2012) [FLAC]/12 - Why (feat. Ruckazoid).flac' INFO - Add file in DB '/volume1/music/ELECTRO/Breakbot - By Your Side (2012) [FLAC]/10 - Baby I'm Yours (feat. Irfane).flac' INFO - Add file in DB '/volume1/music/ELECTRO/Breakbot - By Your Side (2012) [FLAC]/14 - Intersection.flac' INFO - Add file in DB '/volume1/music/ELECTRO/Breakbot - By Your Side (2012) [FLAC]/06 - You Should Know (feat. Ruckazoid).flac' INFO - Add file in DB '/volume1/music/ELECTRO/Breakbot - By Your Side (2012) [FLAC]/07 - The Mayfly and the Light (feat. Irfane).flac' INFO - *-* Working on share [homes] whose path is '/volume1/homes' INFO - [homes] is NOT to be indexed INFO - !! Delete orphan file from DB '/volume1/video/sous-dossier/le-fichier.mkv' INFO - Begin to clean useless @eaDir... INFO - End 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
MrWaloo Posté(e) le 19 septembre 2012 Auteur Partager Posté(e) le 19 septembre 2012 C'est normal, -A (MAJUSCULE) est l'équivalent de -a (minuscule) -c -i -o. Et -o c'est pour les orphelins... RAS pour moi. Tu voulais sans doute faire -a et pas -A... A+ Michel 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Amsonia Posté(e) le 19 septembre 2012 Partager Posté(e) le 19 septembre 2012 D'accord, je pensais que le -o était soumis à la contrainte du -p 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
moog Posté(e) le 8 novembre 2012 Partager Posté(e) le 8 novembre 2012 Bonjour, Tout d'abord un grand merci à toi MrWaloo pour la création de ce script qui répond parfaitement à mes attentes. Cependant il doit il y avoir quelque chose dans le tuto que je n'ai pas saisi car aprés plusieurs tentatives je suis toujours confronté à la même erreur... J'essaie d'indexer automatiquement le dossier "transmission" qui est le dossier dans lequel je télécharge la plupart de mes fichiers. Quelque soit la commande utilisé : python2.6 index_updater.py -t -v 2 -p Chemin/du/repertoire/transmission ou python index_updater.py -A -t -v 2 j'obtiens l'erreur suivante : No path defined: every directories will be checked **TEST** - Start **TEST** - Media server enabled: START **TEST** - Configuration read : {'transmission': {'index_mime': {'image': False, 'audio': False, 'video': False}, 'path': '/volume1/transmission'}, 'photo': {'path': '/volume1/photo', 'index_mime': {'image': True, 'audio': False, 'video': False}}, 'video': {'path': '/volume1/video', 'index_mime': {'image': False, 'audio': False, 'video': True}}, 'music': {'path': '/volume1/music', 'index_mime': {'image': False, 'audio': True, 'video': False}}} **TEST** - *-* Working on share [transmission] whose path is '/volume1/transmission' **TEST** - [transmission] is NOT to be indexed **TEST** - *-* Working on share [photo] whose path is '/volume1/photo' **TEST** - [photo] won't be indexed because it is not included in the path list **TEST** - *-* Working on share whose path is '/volume1/video' **TEST** - won't be indexed because it is not included in the path list **TEST** - *-* Working on share [music] whose path is '/volume1/music' **TEST** - [music] won't be indexed because it is not included in the path list **TEST** - End Voici le fichier log correspondant : 2012-11-08 23:38:56,734 - DEBUG - Logger initialized 2012-11-08 23:38:56,765 - DEBUG - Options: add: True, clean_db: False, clean_orphans: False, del_dbl_indexed: False, test: True 2012-11-08 23:38:56,766 - INFO - No path defined: every directories will be checked 2012-11-08 23:38:56,815 - DEBUG - MIME types initialized 2012-11-08 23:38:56,816 - INFO - Start 2012-11-08 23:38:56,824 - DEBUG - DSM majorversion = 4 2012-11-08 23:38:56,825 - DEBUG - Check package 'AudioStation' 2012-11-08 23:38:56,826 - DEBUG - '/var/packages/AudioStation/enabled' exists : return True 2012-11-08 23:38:56,827 - INFO - Media server enabled: START 2012-11-08 23:38:56,836 - DEBUG - Reading the configuration file (smb.conf) 2012-11-08 23:38:56,837 - DEBUG - New section: [global] 2012-11-08 23:38:56,839 - DEBUG - New section: [home] 2012-11-08 23:38:56,840 - DEBUG - New section: [homes] 2012-11-08 23:38:56,844 - DEBUG - New section: [music] 2012-11-08 23:38:56,846 - DEBUG - New section: [photo] 2012-11-08 23:38:56,848 - DEBUG - New section: [Plex] 2012-11-08 23:38:56,850 - DEBUG - New section: [transmission] 2012-11-08 23:38:56,852 - DEBUG - New section: 2012-11-08 23:38:56,856 - DEBUG - New section: [web] 2012-11-08 23:38:56,858 - DEBUG - Reading the configuration file (smb.conf) done 2012-11-08 23:38:56,859 - DEBUG - Add 'video' in the configuration share list 2012-11-08 23:38:56,860 - DEBUG - Add 'transmission' in the configuration share list 2012-11-08 23:38:56,861 - DEBUG - Add 'photo' in the configuration share list 2012-11-08 23:38:56,862 - DEBUG - Add 'music' in the configuration share list 2012-11-08 23:38:56,867 - INFO - Configuration read : {'transmission': {'index_mime': {'image': False, 'audio': False, 'video': False}, 'path': '/volume1/transmission'}, 'photo': {'path': '/volume1/photo', 'index_mime': {'image': True, 'audio': False, 'video': False}}, 'video': {'path': '/volume1/video', 'index_mime': {'image': False, 'audio': False, 'video': True}}, 'music': {'path': '/volume1/music', 'index_mime': {'image': False, 'audio': True, 'video': False}}} 2012-11-08 23:38:56,882 - INFO - *-* Working on share [transmission] whose path is '/volume1/transmission' 2012-11-08 23:38:56,891 - INFO - [transmission] is NOT to be indexed 2012-11-08 23:38:56,893 - INFO - *-* Working on share [photo] whose path is '/volume1/photo' 2012-11-08 23:38:56,895 - INFO - [photo] won't be indexed because it is not included in the path list 2012-11-08 23:38:56,896 - INFO - *-* Working on share whose path is '/volume1/video' 2012-11-08 23:38:56,897 - INFO - won't be indexed because it is not included in the path list 2012-11-08 23:38:56,898 - INFO - *-* Working on share [music] whose path is '/volume1/music' 2012-11-08 23:38:56,900 - INFO - [music] won't be indexed because it is not included in the path list 2012-11-08 23:38:56,901 - INFO - End Je ne comprends pas bien pourquoi le fichier transmission "is NOT to be indexed" et pourquoi les autres dossiers du type "photo" ne sont pas dans la "path list" même lorsque j'utilise la commande -a Merci encore pour ton script (j'ai créé un compte sur ce forum spécialement pour ton script) 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
MrWaloo Posté(e) le 9 novembre 2012 Auteur Partager Posté(e) le 9 novembre 2012 Salut, Il faut ajouter le partage qui contient le répertoire transmission dans les dossiers du service d'indexage. Procédure: Panneau de configuration / Service d'indexage média / Onglet Dossiers indexés... A+ Michel 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
moog Posté(e) le 14 novembre 2012 Partager Posté(e) le 14 novembre 2012 Ok merci pour le retour. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
mickeys Posté(e) le 18 novembre 2012 Partager Posté(e) le 18 novembre 2012 (modifié) bonjour j ai toujours **TEST** - *-* Working on share [photo] whose path is '/volume1/photo' **TEST** - [photo] won't be indexed because it is not included in the path list **TEST** - *-* Working on share [video] whose path is '/volume1/video' **TEST** - [video] won't be indexed because it is not included in the path list **TEST** - *-* Working on share [music] whose path is '/volume1/music' **TEST** - [music] won't be indexed because it is not included in the path list **TEST** - End meme avec les fichier correctement configuré dans Panneau de configuration / Service d'indexage média / Onglet Dossiers indexés... j ai mis ca dans path c est bon ? self.configuration = { 'music': { 'path': '/volume1/audio', # to be determined 'index_mime': {'audio': True, 'image': False, 'video': False} }, 'photo': { 'path': '/volume1/music', # to be determined 'index_mime': {'audio': False, 'image': True, 'video': False} }, 'video': { 'path': '/volume1/video', # to be determined 'index_mime': {'audio': False, 'image': False, 'video': True} }, } avec cette comande python2.6 index_updater.py -A -v 2 Modifié le 18 novembre 2012 par mickeys 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
MrWaloo Posté(e) le 18 novembre 2012 Auteur Partager Posté(e) le 18 novembre 2012 (modifié) Salut, Je viens de remettre le script à jour, chez moi ça le fait Merci pour ton retour. A+ Michel edit, tu n'as pas à modifier le script, la configuration est lue, selon ce que tu as sur le NAS. Modifié le 18 novembre 2012 par MrWaloo 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
mickeys Posté(e) le 22 novembre 2012 Partager Posté(e) le 22 novembre 2012 (modifié) salut super merci !!! tes un chef Modifié le 22 novembre 2012 par mickeys 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
nowan Posté(e) le 26 novembre 2012 Partager Posté(e) le 26 novembre 2012 il semblerait que les fichier avec des parenthèses ne passent pas : Traceback (most recent call last): File "./index_updater.py", line 623, in <module> main() File "./index_updater.py", line 617, in main ret = IndexUpdater(add=add, clean_db=clean_db, clean_orphans=clean_orphans, del_dbl_indexed=del_dbl_indexed, path=path, test=test, verbose=verbose) File "./index_updater.py", line 114, in __init__ self.main() File "./index_updater.py", line 536, in main self._fileTreatment(os.path.join(dirpath, name), share) File "./index_updater.py", line 375, in _fileTreatment if not self._checkExistance(file_name, self.MIME_CORRESPONDANCE[mime]): File "./index_updater.py", line 397, in _checkExistance self.cur.execute(sql_query) psycopg2.DataError: invalid regular expression: parentheses () not balanced Log : DEBUG - File treatment on '/volume1/Medias/Music/Albums/Brigitte/Et vous, tu m'aimes/00. Unknown - Unknown.nfo' 2012-11-26 11:16:53,700 - DEBUG - File treatment on '/volume1/Medias/Music/Albums/Brigitte/Et vous, tu m'aimes/16 Encore un verre.mp3' 2012-11-26 11:16:53,704 - DEBUG - Checking if '/volume1/Medias/Music/Albums/Brigitte/Et vous, tu m'aimes/16 Encore un verre.mp3' really should be removed from DB... 2012-11-26 11:16:54,253 - DEBUG - ... it should ! 2012-11-26 11:16:54,254 - INFO - !! Delete file from DB (MIME type not to be indexed) '/volume1/Medias/Music/Albums/Brigitte/Et vous, tu m'aimes/16 Encore un verre.mp3' 2012-11-26 11:16:55,570 - DEBUG - File treatment on '/volume1/Medias/Music/Albums/Brigitte/Et vous, tu m'aimes/03 Big bang (au pays des....mp3' 2012-11-26 11:16:55,647 - DEBUG - Checking if '/volume1/Medias/Music/Albums/Brigitte/Et vous, tu m'aimes/03 Big bang (au pays des....mp3' really should be removed from DB... 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
MrWaloo Posté(e) le 26 novembre 2012 Auteur Partager Posté(e) le 26 novembre 2012 Salut, Je viens de faire le test avec le même album que toi, avec un fichier qui porte le même nom et je n'ai pas eu de soucis. Tu as quelle version de python, celle de Synology ou celle de ipkg ? Peut être que la page de code du système peut jouer aussi... ??? A+ Michel 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
nowan Posté(e) le 27 novembre 2012 Partager Posté(e) le 27 novembre 2012 c'est la version de synology. Pour le code page, aucune idée. je peux savoir ça comment? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.