Aller au contenu

Mise


MrWaloo

Messages recommandés

La page de code se configure dans le panneau de config / Options régionales, onglet Langue, section page de code. (chez moi "Français")

Je fais le test avec la version de syno.

A+

edit: Je viens de faire le test avec le même album copié en NFS, avec une version adaptée du script pour python de Synology que j'ai du installer d'abord.

Le script ajoute les fichiers correctement.

J'ai supprimé l'album via NFS, et ai relancé le script, les entrées sont bien supprimées.

Donc ça ne vient pas du script, ni de la version de python.

En ligne de commande, tu arrives à lister les fichiers correctement ?

Modifié par MrWaloo
Lien vers le commentaire
Partager sur d’autres sites

  • 3 mois après...

Bonjour et merci pour ce script

J'ai suivi à la lettre l'installation et tout s'est bien passé. En revanche la commande suivante donne ca

Syno-DS212> python2.6 index_updater.py -t
**TEST** - No path defined: every directories will be checked
**TEST** - Start
**TEST** - Media server enabled: START
**TEST** - The indexfolder.conf file does not exist
**TEST** - 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}}}
**TEST** - *-* Working on share [photo] whose path is '/volume1/photo'
**TEST** - [photo] is to be indexed
et la commande suivante
Syno-DS212> python2.6 index_updater.py -A
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 533, in main
self._fileTreatment(dirpath, share)
File "index_updater.py", line 386, in _fileTreatment
self._unlink(file_name)
File "index_updater.py", line 261, in _unlink
os.unlink(file_name)
OSError: [Errno 21] Is a directory: '/volume1/photo/A conserver absolument/alexguestbook405/templates/skins/chezpierre/img/@eaDir/@eaDir'
Comment corriger?
Merci
Xavier
Lien vers le commentaire
Partager sur d’autres sites

Salut,

C'est bizarre, parce que le parcours du répertoire est géré par une fonction d'un module python qui distingue les répertoires et les fichiers, hors apparemment, la fonction déstinée à la gestion des fichiers est appelée pour un répertoire, c'est pourquoi le répertoire ne peut être effacé...

Tu peux lancer ça :

python2.6 index_updater.py -A -t -p "/volume1/photo/A conserver absolument/alexguestbook405/templates/skins/chezpierre/"

Et poster le contenu du fichier log créé à coté du script, qui porte le nom de "index_updater.log".

Histoire d'y voir plus clair...

A+

Michel

Modifié par MrWaloo
Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...
  • 3 semaines après...

Salut,

Ce serait cool de me donner des infos histoire que j'officialise la release le cas échéant...

A+

Michel

Salut,

Désolé entre temps j'ai supprimé le répertoire qui posait problème.

Donc fonctionne bien à nouveau.

S"il y a autre chose à vérifier n'hésite pas et encore merci pour ton support.

Xavier

Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...

Salut,

Oui je sais qu'en informatique on peut tout faire :P

J'avais commencer a me lancer dans le perl pour comprendre le script ^^ ca doit pas être si différent des autres langages :)

J'aimerais qu'il me dise par exemples à la fin d'une indexation ou un(ou plus) fichier a été trouvé :

cas avec un fichier : le nom du fichier

cas avec plusieurs fichiers : nombre de fichier ajoutés

Cela permettra de m'informer quand ma synchro rsync termine un gros fichier vu que je lance ton script toutes les 5 minutes

Je te remercie pour ton aide ;)

Lien vers le commentaire
Partager sur d’autres sites

A mon avis, toutes les 5 minutes c'est bien trop fréquent...
J'explique :

Le script met déjà un certain temps à parcourir le disque pour vérifier l’existence de fichiers non indexés, donc plus tu as de fichiers plus le script sera long à s'exécuter. Si le script met plus de 5 minutes alors tu te retrouves avec un chevauchement qui ne fera qu'empirer avec le temps (multi-chevauchement).

D'autre part, la création des miniatures en elle même met beaucoup de temps. Le fait d'ajouter un fichier avec la commande synoindex rajoute ce fichier dans une liste qui est traitée par synoindexd (la tâche de fond ou démon qui s'occupe de ça). Si le script relance la commande synoindex sur un fichier dans la liste, il sera réindexé avec re-création de miniature...
De la même manière si la création des miniature dure plus de 5 minutes, tu auras des chavauchements...

Le script est en python, pas en perl ;)

Modifié par MrWaloo
Lien vers le commentaire
Partager sur d’autres sites

D'autre part...

Je te conseille de faire en sorte de la synchro rsync lance le script à la fin de la synchro, comme ça tu es sûr de ce que tu fais.

Ou alors de conditionner l'exécution du script par l’existence d'un fichier déposé par rsync, comme un drapeau, s'il est là le supprimer et lancer le script (ne pas attendre la fin du script pour le supprimer, pour les même raisons de chevauchement), sinon ne rien faire.

Il est possible de configurer rsync pour faire ce genre de chose dans un tunel ssh il me semble. Ou alors en scriptant un peu :)

Modifié par MrWaloo
Lien vers le commentaire
Partager sur d’autres sites

  • 11 mois après...

Bonjour Michel,

Une petite mise à jour du script est peut être nécessaire.

Suite au passage à DSM 5 le script ne fonctionnait plus chez moi, il me retournait "runmediaservice = no" et le script s’arrêtait

Après une petite recherche j'ai trouvé la solution en rajoutant un bloc avec majorversion = 5 (identique à majorversion = 4) dans la section "# Ckeck the DSM version to know where to find if the indexation is useful" (l203)

Si tu veux republier une maj je peux te fournir ma modif mais je pense que ça te prendra 2 secondes de la refaire.

Par contre j'ai 2 petites questions/remarques:

Sais-tu pourquoi j'ai runmediaservice = no dans mon fichier synoinfo.conf alors que le serveur multimédia est activé et que le DLNA fonctionne bien? Est-ce lié à un autre fonction? (car le script fonctionne grâce au fait que tu check aussi les paquets audio, video...)

Même lorsqu'on indique un path est qu'on active l'option -v on peut voir, par exemple, "[photo] is to be indexed" alors qu'il n'est pas inclu dans le path. J'ai bien constaté dans le log que rien n'est mais du coup c'est un peu dommage d'avoir ce message. D'un autre côté je suppose que ça demande du temps de modifier ça pour un gain minime et un risque de créer d'autres bug

En tout cas merci pour ton boulot, ton script me sert bien :)

@+

Marc

Modifié par M4rcus
Lien vers le commentaire
Partager sur d’autres sites

Bonjour à tous,

J'ai mis en place ce script sur mon Syno DS112J sous DSM 5, il parvient sans problème à retirer les films de la DB qui ont été supprimés du disque dur, mais n'ajoute pas dans la DB les nouveaux films.

Est-il possible que ce problème vienne du fait que mes vidéos sont enregistrées dans un dossier nommé "Downloads", différent du dossier "vidéo" ?

Lien vers le commentaire
Partager sur d’autres sites

Salut zoxen,

Il faut que tu ajoutes le dossier que tu veux indexer dans les dossiers de la bibliothèque multimédia.

Pour ça va dans Panneau de configuration > Bibliothèque multimédia (dernière icone en bas à droite) > onglet Dossier indexé.

Sinon tu peux aussi lancer le script avec le paramètre -p en spécifiant le dossier à indexer (cela indexera tout les sous dossiers)

Utilise le paramètre -v 2 si tu veux qu'un fichier de log détaillé soit créé.

Marc

Lien vers le commentaire
Partager sur d’autres sites

Salut,

je vois un petit problème dans ton log, la 2eme ligne indique

Options: add: False, clean_db: False, clean_orphans: False, del_dbl_indexed: False, test: False

donc a priori le script ne fait rien mais visiblement après il arrive bien à scanner ton dossier download

essaye de lancer le script de la façon suivante:

python2.6 index_updater.py -a -v 2 -p /volume1/downloads

(si tu utilise bien python 2.6, sinon adapte)

le paramètre -a permettra de ne lancer que la fonction add

Lien vers le commentaire
Partager sur d’autres sites

Salut Zoxen,

bon c'est cool. Pour tes 2 fichiers non indexés je sais pas quoi dire.

Il faut effectivement que tu planifies l'exécution sinon l'indexation ne sera jamais faite (hormis pour les cas normaux, ex : déplacement de fichier dans filestation...)

Pour l'exemple voici ce que j'ai mis dans le planificateur DSM:

exécution : quotidienne

heure : 02h00

script:

/opt/bin/python2.6 /volume1/Documents/Telnet-SSH/index_updater.py -A -v 2 -p /volume1/video

le paramètre -A permet de lancer toutes les fonctions (ajout et nettoyage de la db), -v 2 d'avoir le log en cas de besoin et -p pour le path à scanner

J'espère que ça t'aidera

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Je ne comprend pas l'intérêt de ce script sous DSM 5 ? (ni 4.3 d'ailleurs) (je suis utilisateur de syno depuis cette version).

Tout cela est géré nativement et surtout en instantané (pas besoin d'attendre que le script se réexecute pour que ce soit pris en compte).

Ou alors je n'ai pas bien compris l'intérêt de ce script mais tout du moins chez moins Video Station et l'UPNP prend parfaitement en compte ajout (via SFTP/Downoload station) et Suppression (Via DS File/SFTP)

Lien vers le commentaire
Partager sur d’autres sites

Salut Vinky,

Tu as raison... en partie.

Avec certains modes de téléchargement l'indexation n'est pas faite automatiquement. C'est également le cas avec un autre script que j'utilise (insertion de sous titres dans un mkv), les vidéos ne sont pas indexées automatiquement.

Avec cette programmation au mois je suis sûr d'avoir systématiquement mes vidéos dispo en UPNP sans aller lancer une réeindexation qui va me faire perdre 5 ou 10 minutes sur le coup.

D'autant plus que la réeindexation syno (via DSM) supprime et réindexe tout, donc quand on commence à avoir beaucoup de contenu ça peut être long.

Modifié par M4rcus
Lien vers le commentaire
Partager sur d’autres sites

Salut Vinky,

Tu as raison... en partie.

Avec certains modes de téléchargement l'indexation n'est pas faite automatiquement. C'est également le cas avec un autre script que j'utilise (insertion de sous titres dans un mkv), les vidéos ne sont pas indexées automatiquement.

Avec cette programmation au mois je suis sûr d'avoir systématiquement mes vidéos dispo en UPNP sans aller lancer une réeindexation qui va me faire perdre 5 ou 10 minutes sur le coup.

D'autant plus que la réeindexation syno (via DSM) supprime et réindexe tout, donc quand on commence à avoir beaucoup de contenu ça peut être long.

Ok, je comprend mieux l'intérêt dans ce cas effectivement ;)

Merci pour l'explication

Lien vers le commentaire
Partager sur d’autres sites

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.