Twee scripts laten uitvoeren

Stel hier je vragen in het Nederlands.
Je zult sneller (en misschien betere) antwoorden in de engelstalige "boards" krijgen. TIP: je kunt je "profile" ook op Nederlands instellen.
Post Reply
spacewagon
Newbie
Newbie
Posts: 9
Joined: January 2nd, 2014, 6:41 am

Twee scripts laten uitvoeren

Post by spacewagon »

Na dagen proberen en knutselen, schakel ik jullie hulp in. Ik heb een Synology NAS, DS114.

Ik heb twee losse scripts die los prima werken.

Nummer 1: Dit is pySabRename en zorgt er voor dat gekke bestandsnamen (kom ik steeds vaker tegen) worden omgezet naar de originele naam van de bron. Zie: https://github.com/Blauwbek/pySabRename ... me_syno.py. Die code heb ik exact overgenomen en werkt.

Nummer 2: Dit is een script die de Meda-Index op de Synology NAS update met de laatst gedownloade map. Hierdoor ziet mijn Samsung TV de nieuwste map en kan ik via DLNA streamen. Het script is:

Code: Select all

#!/bin/sh
#
/usr/syno/bin/synoindex -A "$1"
SABnzbd kan helaas maar één script uitvoeren na afloop van een download. Ik heb gezocht naar een script die beide scripts laat uitvoeren. Dat heb ik gevonden:

Code: Select all

#!/bin/sh

# source the other script(s) into the one run by sab - the space after the dot is not a typo
. /usr/local/sabnzbd/var/scripts/synoindex-Laatste.py
. /usr/local/sabnzbd/var/scripts/pySabRename_syno.py
Echter, als ik dit uitvoer, dan krijg ik foutmeldingen, zoals deze:

Code: Select all

/usr/local/sabnzbd/var/scripts/alle-scripts.py: /usr/local/sabnzbd/var/scripts/pySabRename_syno.py: line 18: import: not found
/usr/local/sabnzbd/var/scripts/alle-scripts.py: /usr/local/sabnzbd/var/scripts/pySabRename_syno.py: line 19: import: not found
/usr/local/sabnzbd/var/scripts/alle-scripts.py: /usr/local/sabnzbd/var/scripts/pySabRename_syno.py: line 23: final_dir: not found
/usr/local/sabnzbd/var/scripts/alle-scripts.py: /usr/local/sabnzbd/var/scripts/pySabRename_syno.py: line 25: job_name: not found
/usr/local/sabnzbd/var/scripts/alle-scripts.py: /usr/local/sabnzbd/var/scripts/pySabRename_syno.py: line 29: syntax error: unexpected "("
Het lijkt er op alsof het wel lijkt om via dat ene script de andere scripts uit te voeren. Echter, hij lijkt te "kijken" op een verkeerde plek. Iets met #!/bin/sh of #!/usr/local/sabnzbd/env/bin/python o.i.d.

Ik heb ook geprobeerd beide scripts in één te zetten. Met en zonder functions. Maar dat lukt ook niet. Dan zegt 'ie dat { een invalid syntax is. Of dat iets niet gevonden kan worden.

Wie kan me verder helpen?

Bedankt!
User avatar
jcfp
Release Testers
Release Testers
Posts: 1022
Joined: February 7th, 2008, 12:45 pm

Re: Twee scripts laten uitvoeren

Post by jcfp »

spacewagon wrote:SABnzbd kan helaas maar één script uitvoeren na afloop van een download. Ik heb gezocht naar een script die beide scripts laat uitvoeren. Dat heb ik gevonden:

Code: Select all

#!/bin/sh

# source the other script(s) into the one run by sab - the space after the dot is not a typo
. /usr/local/sabnzbd/var/scripts/synoindex-Laatste.py
. /usr/local/sabnzbd/var/scripts/pySabRename_syno.py
Bijna goed, dat is gebaseerd op de informatie in dit onderwerp. De methode die je hebt proberen te gebruiken maakt de andere scripts onderdeel van dit shell script dat direct door sab wordt uitgevoerd. Helaas voor jou werkt dat uiteraard alleen als die andere scripts zelf ook in die programmeertaal geschreven zijn.

De andere methode die in dat onderwerp wordt gegeven is wel universeel inzetbaar:

Code: Select all

#!/bin/sh

# pass all arguments along
/run/this/script "$@"
/run/this/script2 "$@"
spacewagon
Newbie
Newbie
Posts: 9
Joined: January 2nd, 2014, 6:41 am

Re: Twee scripts laten uitvoeren

Post by spacewagon »

Wow, bedankt! Het werkt!

Ik heb het scriptje aangepaast naar hetgeen jij zei:

Code: Select all

#!/bin/sh

# voer deze scripts uit
/usr/local/sabnzbd/var/scripts/pySabRename_syno.py "$@"
/usr/local/sabnzbd/var/scripts/synoindex-Laatste.py "$@"
en dit werkt :-)

Kun je mij nog uitleggen wat die "$@" doet of betekent?

En is het nu zo dat eerst script 1 wordt uitgevoerd en dan script 2? Of allebei tegelijk?

Bedankt!
jvdmeer
Newbie
Newbie
Posts: 2
Joined: November 5th, 2012, 6:21 pm

Re: Twee scripts laten uitvoeren

Post by jvdmeer »

Dag, ik heb zelf sinds kort een "ReadyNAS Pro Pioneer Edition" ben er ook heel blij mee maar zit als spacewagon met rename bestanden.
Heb dit wel perfect werkend op pc maar wil het op de NAS server gaan uitvoeren.

Op de site https://github.com/Blauwbek/pySabRename kan ik bestand downloaden maar staat niet bij wat verder te doen.
Moet ik dit bij sabnzb inplakken zodat hij na uitpakken dit script oppakt, of in
Sick Beard waarin andere script staan van tv.
Blauwbek
Newbie
Newbie
Posts: 1
Joined: March 9th, 2014, 5:51 pm

Re: Twee scripts laten uitvoeren

Post by Blauwbek »

Download het script en zet het in een nieuwe map. (Ik raad je aan de unix/win versie te downloaden, deze twee zijn verder hetzelfde)
Vul deze map in bij http://host:8080/sabnzbd/config/folders/
Stel bij http://host:8080/sabnzbd/config/categories/ de categorie naar keuze in met het script, of selecteer het script bij een download (op het overzicht).

Mocht je de twee scripts willen gebruiken dan moet je het pad naar het script in het tweede script zetten.
Post Reply