Aller au contenu

Messages recommandés

Posté(e)

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.

Posté(e)

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

Posté(e) (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é par CoolRaoul
Posté(e) (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é par MrWaloo
Posté(e) (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é par MrWaloo
Posté(e) (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

:P

Modifié par CoolRaoul
Posté(e)

Au passage, deux petites requetes d'évolution:

  • génération du log facultative
  • choix du chemin du fichier log

:P

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

Posté(e)

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

Posté(e)

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 ^_^

Posté(e) (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é par MrWaloo
Posté(e)

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.

Posté(e)

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

Posté(e)

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

  • 1 mois après...
Posté(e)

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)

Posté(e)

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

Posté(e) (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é par mickeys
Posté(e) (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é par MrWaloo
Posté(e)

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...

Posté(e)

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

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.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.