Auteur Topic: extra script in NZBget toevoegen  (gelezen 28088 keer)

Offline Birdy

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 1342
  • -Ontvangen: 7816
  • Berichten: 43.237
  • FIFO / LIFO
    • Truebase
Re: extra script in NZBget toevoegen
« Reactie #15 Gepost op: 28 december 2014, 15:27:53 »
Oh.....dacht dat je nog steeds aan het stoeien was met het script toe te voegen aan NZBGet  :lol:
En, dat je het script handmatig had uitgevoerd  ;)
Kan je verder niet helpen, sorry.


CS406      DSM 2.0-0731    DS508      DSM 4.0-2265      DS411+II  DSM 6.2.4-25556-7   DS115J    DSM 7.1.1-42962-5   DS918+    DSM 6.2.4-25556-7
DS107+     DSM 3.1-1639    DS411slim  DSM 6.2.4-25556   DS213J    DSM 6.2.3-25426-2   DS1515+   DSM 6.2.4-25556-7   DS220+    DSM 7.2.1-69057-5
DS107+     DSM 3.1-1639    DS111      DSM 5.2-5967-9    DS413J    DSM 6.2.3-25426-2   DS716+II  DSM 6.2.4-25556-7   RT2600ac  SRM 1.2.5-8227-11
BeeDrive   1TB             BeeServer  BSM 1.0-65162                                                                 MR2200ac  SRM 1.2.5-8227-11

Offline GeddyLee

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 31
  • -Ontvangen: 29
  • Berichten: 403
Re: extra script in NZBget toevoegen
« Reactie #16 Gepost op: 28 december 2014, 15:58:38 »
Geeft niet .. Ik laat het los tot ik weer zin krijg om uit te zoeken wat er mis is  ;)
  • Mijn Synology: DS214+
  • HDD's: 2 X WD30EFRX
  • Extra's: DSM 6

Offline Chris12

  • Bedankjes
  • -Gegeven: 14
  • -Ontvangen: 11
  • Berichten: 92
Re: extra script in NZBget toevoegen
« Reactie #17 Gepost op: 28 december 2014, 21:44:16 »
Ik heb de volgende settings (screenshots):

file reverse_name.py


Ik zie wel dat de file een stuk groter is.
Ik heb de file hier vandaan:
https://github.com/Prinz23/nzbget-pp-reverse

ScriptDir:



Lijst met scripts bij PostScripts:


Geen reverse_name script daartussen.
  • Mijn Synology: DS415+
  • HDD's: 4x WD60EZRX
  • Extra's: 8GB RAM Corsair

Offline Birdy

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 1342
  • -Ontvangen: 7816
  • Berichten: 43.237
  • FIFO / LIFO
    • Truebase
Re: extra script in NZBget toevoegen
« Reactie #18 Gepost op: 28 december 2014, 22:34:31 »
Kijk eens in die reverse_name.py file want dit klopt helemaal niet:
Misschien dat het script niet "herkend" wordt ?

Het volgende zou er in moeten staan:

#!/usr/bin/env python
#
##############################################################################
### NZBGET POST-PROCESSING SCRIPT                                          ###

# Reverse filenames.
#
# NOTE: This script requires Python to be installed on your system.

##############################################################################
### OPTIONS                                                                ###

### NZBGET POST-PROCESSING SCRIPT                                          ###
##############################################################################

import os
import sys
import re

reverse_list = [r"\.\d{2}e\d{2}s\.", r"\.p0612\.", r"\.[pi]0801\.", r"\.p027\.", r"\.[pi]675\.", r"\.[pi]084\.", r"\.p063\.", r"\b[45]62[xh]\.", r"\.yarulb\.", r"\.vtd[hp]\.",
                r"\.ld[.-]?bew\.", r"\.pir.?(shv|dov|dvd|bew|db|rb)\.", r"\brdvd\.", r"\.vts\.", r"\.reneercs\.", r"\.dcv\.", r"\b(pir|mac)dh\b", r"\.reporp\.", r"\.kcaper\.",
                r"\.lanretni\.", r"\b3ca\b", r"\bcaa\b", r"\b3pm\b", r"\.cstn\.", r"\.5r\.", r"\brcs\b"]
reverse_pattern = re.compile('|'.join(reverse_list), flags=re.IGNORECASE)
season_pattern = re.compile(r"(.*\.\d{2}e\d{2}s\.)(.*)", flags=re.IGNORECASE)
word_pattern = re.compile(r"([^A-Z0-9]*[A-Z0-9]+)")
char_replace = [[r"(\w)1\.(\w)",r"\1i\2"]
]
garbage_name = re.compile(r"^[a-zA-Z0-9]{5,}$")
media_list = [r"\.s\d{2}e\d{2}\.", r"\.2160p\.", r"\.1080[pi]\.", r"\.720p\.", r"\.576[pi]\.", r"\.480[pi]\.", r"\.360p\.", r"\.[xh]26[45]\b", r"\.bluray\.", r"\.[hp]dtv\.",
              r"\.web[.-]?dl\.", r"\.(vhs|vod|dvd|web|bd|br).?rip\.", r"\.dvdr\b", r"\.stv\.", r"\.screener\.", r"\.vcd\.", r"\bhd(cam|rip)\b", r"\.proper\.", r"\.repack\.",
              r"\.internal\.", r"\bac3\b", r"\baac\b", r"\bmp3\b", r"\.ntsc\.", r"\.pal\.", r"\.secam\.", r"\bdivx\b", r"\bxvid\b", r"\.r5\.", r"\.scr\."]
media_pattern = re.compile('|'.join(media_list), flags=re.IGNORECASE)
media_extentions = [".mkv", ".mp4", ".avi", ".wmv", ".divx", ".xvid"]

# NZBGet V11+
# Check if the script is called from nzbget 11.0 or later
if os.environ.has_key('NZBOP_SCRIPTDIR') and not os.environ['NZBOP_VERSION'][0:5] < '11.0':
    print "[INFO] Script triggered from NZBGet (11.0 or later)."

    # NZBGet argv: all passed as environment variables.
    clientAgent = "nzbget"
    # Exit codes used by NZBGet
    POSTPROCESS_PARCHECK=92
    POSTPROCESS_SUCCESS=93
    POSTPROCESS_ERROR=94
    POSTPROCESS_NONE=95

    # Check nzbget.conf options
    status = 0

    if os.environ['NZBOP_UNPACK'] != 'yes':
        print "[INFO] Please enable option \"Unpack\" in nzbget configuration file, exiting"
        sys.exit(POSTPROCESS_NONE)

    # Check par status
    if os.environ['NZBPP_PARSTATUS'] == '3':
        print "[INFO] Par-check successful, but Par-repair disabled, exiting"
        sys.exit(POSTPROCESS_NONE)

    if os.environ['NZBPP_PARSTATUS'] == '1':
        print "[INFO] Par-check failed, setting status \"failed\""
        status = 1
        sys.exit(POSTPROCESS_NONE)

    # Check unpack status
    if os.environ['NZBPP_UNPACKSTATUS'] == '1':
        print "[INFO] Unpack failed, setting status \"failed\""
        status = 1
        sys.exit(POSTPROCESS_NONE)

    if os.environ['NZBPP_UNPACKSTATUS'] == '0' and os.environ['NZBPP_PARSTATUS'] != '2':
        # Unpack is disabled or was skipped due to nzb-file properties or due to errors during par-check

        for dirpath, dirnames, filenames in os.walk(os.environ['NZBPP_DIRECTORY']):
            for file in filenames:
                fileExtension = os.path.splitext(file)[1]

                if fileExtension in ['.par2']:
                    print "[INFO] Post-Process: Unpack skipped and par-check skipped (although par2-files exist), setting status \"failed\"g"
                    status = 1
                    break

        if os.path.isfile(os.path.join(os.environ['NZBPP_DIRECTORY'], "_brokenlog.txt")) and not status == 1:
            print "[INFO] Post-Process: _brokenlog.txt exists, download is probably damaged, exiting"
            status = 1

        if not status == 1:
            print "[INFO] Neither par2-files found, _brokenlog.txt doesn't exist, considering download successful"

    # Check if destination directory exists (important for reprocessing of history items)
    if not os.path.isdir(os.environ['NZBPP_DIRECTORY']):
        print "[INFO] Post-Process: Nothing to post-process: destination directory ", os.environ['NZBPP_DIRECTORY'], "doesn't exist"
        status = 1

    # All checks done, now launching the script.

    rd = False
    videos = 0
    old_name = None
    new_name = None
    for dirpath, dirnames, filenames in os.walk(os.environ['NZBPP_DIRECTORY']):
        for file in filenames:

            filePath = os.path.join(dirpath, file)
            fileName, fileExtension = os.path.splitext(file)
            dirname = os.path.dirname(filePath)

            if reverse_pattern.search(fileName) is not None:
                na_parts = season_pattern.search(fileName)
                if na_parts is not None:
                    word_p = word_pattern.findall(na_parts.group(2))
                    new_words = ""
                    for wp in word_p:
                        if wp[0] == ".":
                            new_words += "."
                        new_words += re.sub(r"\W","",wp)
                    for cr in char_replace:
                        new_words = re.sub(cr[0],cr[1],new_words)
                    new_filename = new_words[::-1] + na_parts.group(1)[::-1]
                else:
                    new_filename = fileName[::-1]
                print "[INFO] reversing filename from: ", fileName, " to ", new_filename
                try:
                    os.rename(filePath, os.path.join(dirpath, new_filename + fileExtension))
                    rd = True
                except Exception,e:
                    print "[INFO] " + str(e)
                    print "[INFO] Error: unable to rename file ", file
                    pass
            elif (fileExtension.lower() in media_extentions) and (garbage_name.search(fileName) is not None) and (media_pattern.search(os.path.basename(dirname)) is not None):
                videos += 1
                old_name = filePath
                new_name = os.path.join(dirname, os.path.basename(dirname) + fileExtension)

    if not rd and videos == 1 and old_name is not None and new_name is not None:
        print "[INFO] renaming the File " + os.path.basename(old_name) + " to the Dirname " + os.path.basename(os.path.dirname(new_name))
        try:
            os.rename(old_name, new_name)
            rd = True
        except Exception,e:
            print "[INFO] " + str(e)
            print "[INFO] Error unable to rename file ", old_name
            pass

    if rd:
        sys.exit(POSTPROCESS_SUCCESS)
    else:
        sys.exit(POSTPROCESS_NONE)

else:
    print "[ERROR] This script can only be called from NZBGet (11.0 or later)."
    sys.exit(0)


CS406      DSM 2.0-0731    DS508      DSM 4.0-2265      DS411+II  DSM 6.2.4-25556-7   DS115J    DSM 7.1.1-42962-5   DS918+    DSM 6.2.4-25556-7
DS107+     DSM 3.1-1639    DS411slim  DSM 6.2.4-25556   DS213J    DSM 6.2.3-25426-2   DS1515+   DSM 6.2.4-25556-7   DS220+    DSM 7.2.1-69057-5
DS107+     DSM 3.1-1639    DS111      DSM 5.2-5967-9    DS413J    DSM 6.2.3-25426-2   DS716+II  DSM 6.2.4-25556-7   RT2600ac  SRM 1.2.5-8227-11
BeeDrive   1TB             BeeServer  BSM 1.0-65162                                                                 MR2200ac  SRM 1.2.5-8227-11

Offline Chris12

  • Bedankjes
  • -Gegeven: 14
  • -Ontvangen: 11
  • Berichten: 92
Re: extra script in NZBget toevoegen
« Reactie #19 Gepost op: 28 december 2014, 22:59:24 »
Ik heb het script nu in zn geheel gekopieerd als txt en deze in een new txt bestand geplakt, en de file opgeslagen als .py

Na uploaden en restarten van NZBget, config aanpassen bij PostScript, staat het nieuwe script er tussen!!


De oude verkeerde file bevatte allemaal html/css jibba-jabba... vandaar de 80kb grootte.


Nu maar eens kijken of het script inderdaad werkt.


  • Mijn Synology: DS415+
  • HDD's: 4x WD60EZRX
  • Extra's: 8GB RAM Corsair

Offline Birdy

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 1342
  • -Ontvangen: 7816
  • Berichten: 43.237
  • FIFO / LIFO
    • Truebase
Re: extra script in NZBget toevoegen
« Reactie #20 Gepost op: 29 december 2014, 00:03:28 »
mooi zo, we zien het wel dan.......


CS406      DSM 2.0-0731    DS508      DSM 4.0-2265      DS411+II  DSM 6.2.4-25556-7   DS115J    DSM 7.1.1-42962-5   DS918+    DSM 6.2.4-25556-7
DS107+     DSM 3.1-1639    DS411slim  DSM 6.2.4-25556   DS213J    DSM 6.2.3-25426-2   DS1515+   DSM 6.2.4-25556-7   DS220+    DSM 7.2.1-69057-5
DS107+     DSM 3.1-1639    DS111      DSM 5.2-5967-9    DS413J    DSM 6.2.3-25426-2   DS716+II  DSM 6.2.4-25556-7   RT2600ac  SRM 1.2.5-8227-11
BeeDrive   1TB             BeeServer  BSM 1.0-65162                                                                 MR2200ac  SRM 1.2.5-8227-11

Offline GeddyLee

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 31
  • -Ontvangen: 29
  • Berichten: 403
Re: extra script in NZBget toevoegen
« Reactie #21 Gepost op: 29 december 2014, 09:09:37 »
Ik ben heel benieuwd Chris, bij mij doettie niets ..
  • Mijn Synology: DS214+
  • HDD's: 2 X WD30EFRX
  • Extra's: DSM 6

Ben(V)

  • Gast
Re: extra script in NZBget toevoegen
« Reactie #22 Gepost op: 29 december 2014, 09:41:56 »
Het probleem zit hem in de eerste regel van je script.
Daar wordt aangegeven waar de python executable staat.
Als je python van de SynoCommunity gebruikt moet je die eerste vervangen door:
Code: (python) [Selecteer]
#!/volume1/@appstore/python/bin/python2

Mits je python op volume1(standaard) hebt geinstalleerd.

Offline GeddyLee

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 31
  • -Ontvangen: 29
  • Berichten: 403
Re: extra script in NZBget toevoegen
« Reactie #23 Gepost op: 29 december 2014, 11:35:08 »
Als ik dat verander in #!/volume2/@appstore/python/bin/python2 (hier staat python in mijn geval) dan krijg ik een melding dat deletesamples.py niet bestaat. Als ik het terug verander naar #!/usr/bin/env python2 (origineel) dan werkt deletesamples.

Flatten en Reverse_name doen nog steeds helemaal niets, niet met #!/volume2/@appstore/python/bin/python2 en ook niet met #!/usr/bin/env python2

Ik weet het niet meer  :o
  • Mijn Synology: DS214+
  • HDD's: 2 X WD30EFRX
  • Extra's: DSM 6

Offline Birdy

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 1342
  • -Ontvangen: 7816
  • Berichten: 43.237
  • FIFO / LIFO
    • Truebase
Re: extra script in NZBget toevoegen
« Reactie #24 Gepost op: 29 december 2014, 12:04:49 »
Het probleem zit hem in de eerste regel van je script.
Daar wordt aangegeven waar de python executable staat.
Als je python van de SynoCommunity gebruikt moet je die eerste vervangen door:
Code: (python) [Selecteer]
#!/volume1/@appstore/python/bin/python2

Mits je python op volume1(standaard) hebt geinstalleerd.

Let op: Ik weet niet waarom het script niet werkt maar wat ik wel vermoedt is dat de 1e regel ok is:
#!/usr/bin/env python
!/usr/bin/env = deze verwijst naar busybox
DS111> cd /usr/bin
DS111> ls -l env
lrwxrwxrwx    1 root     root            17 Dec 16 20:56 env -> ../../bin/busybox


DS111> /usr/bin/env
SSH_CLIENT=192.168.1.7 52512 22
MAIL=/var/mail/root
USER=root
OLDPWD=/root
TERMINFO=/usr/share/terminfo
HOME=/root
SSH_TTY=/dev/pts/1
PAGER=more
LOGNAME=root
TERM=xterm
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin
LANG=en_US.utf8
SHELL=/bin/ash
LC_ALL=en_US.utf8
PWD=/
SSH_CONNECTION=192.168.1.7 52512 192.168.1.22 22
PGDATA=/var/services/pgsql
TZ=CET-1CEST,M3.5.0,M10.5.0/3

python wordt verwezen naar de juiste versie:
DS111> python
Python 2.7.9 (default, Dec 12 2014, 07:14:32)
[GCC 4.6.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>


CS406      DSM 2.0-0731    DS508      DSM 4.0-2265      DS411+II  DSM 6.2.4-25556-7   DS115J    DSM 7.1.1-42962-5   DS918+    DSM 6.2.4-25556-7
DS107+     DSM 3.1-1639    DS411slim  DSM 6.2.4-25556   DS213J    DSM 6.2.3-25426-2   DS1515+   DSM 6.2.4-25556-7   DS220+    DSM 7.2.1-69057-5
DS107+     DSM 3.1-1639    DS111      DSM 5.2-5967-9    DS413J    DSM 6.2.3-25426-2   DS716+II  DSM 6.2.4-25556-7   RT2600ac  SRM 1.2.5-8227-11
BeeDrive   1TB             BeeServer  BSM 1.0-65162                                                                 MR2200ac  SRM 1.2.5-8227-11

Ben(V)

  • Gast
Re: extra script in NZBget toevoegen
« Reactie #25 Gepost op: 29 december 2014, 12:31:34 »
Code: (python) [Selecteer]
#!/usr/bin/env python

Werkt alleen maar als je daar een enviroment variable gedefinieerd hebt die dan ook daadwerkelijk naar de python van de SynoCommunity verwijst.
De installatie van de SynoCommunity doet dat niet, dus bij jou zal hij dan vermoeddelijk naar de python van Synology zelf verwijzen of je hebt op een andere manier daar een enviroment variable gedefinieerd.

Doe in de directory /usr/bin eens een ls -l python
dan zie je naar welke locatie die verwijst.

De meeste scripts werken niet met de Python versie van Synology zelf, die mist allerlei libraries.

Offline GeddyLee

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 31
  • -Ontvangen: 29
  • Berichten: 403
Re: extra script in NZBget toevoegen
« Reactie #26 Gepost op: 29 december 2014, 15:33:23 »
Zie bijlage .. zegt mij even niets  :o
  • Mijn Synology: DS214+
  • HDD's: 2 X WD30EFRX
  • Extra's: DSM 6

Ben(V)

  • Gast
Re: extra script in NZBget toevoegen
« Reactie #27 Gepost op: 29 december 2014, 16:52:38 »
Dat is dus een vertaling van python naar python2.
En wat geeft ls -l python2

Offline GeddyLee

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 31
  • -Ontvangen: 29
  • Berichten: 403
Re: extra script in NZBget toevoegen
« Reactie #28 Gepost op: 29 december 2014, 19:32:25 »

/usr/bin$ ls -l python2
lrwxrwxrwx    1 root     root             9 Dec 16 21:41 python2 -> python2.7


zegt mij wederom niets, moet ik iets veranderen aan het flatten en rename script?
  • Mijn Synology: DS214+
  • HDD's: 2 X WD30EFRX
  • Extra's: DSM 6

Ben(V)

  • Gast
Re: extra script in NZBget toevoegen
« Reactie #29 Gepost op: 29 december 2014, 19:46:53 »
Ja de eerste regel zoals ik al schreef


 

Linux (Ubuntu/Pop!_OS) Synology drive mappen naar extra hdd

Gestart door ProcaviaBoard Cloud Station & Drive

Reacties: 2
Gelezen: 648
Laatste bericht 28 februari 2021, 11:26:32
door Procavia
1 HDD extra plaatsen

Gestart door Undertaxxx25Board Synology DSM 5.1 en eerder

Reacties: 5
Gelezen: 2877
Laatste bericht 02 oktober 2013, 13:29:02
door Undertaxxx25
extra HD - andere serienummer - DS212j

Gestart door johanc69Board NAS hardware vragen

Reacties: 7
Gelezen: 2322
Laatste bericht 11 november 2015, 17:24:26
door johanc69
Extra Volume aanmaken lukt niet

Gestart door DutchRhodezBoard NAS hardware vragen

Reacties: 3
Gelezen: 489
Laatste bericht 30 september 2021, 11:34:21
door DutchRhodez
Waar komt die extra 1000GB verbuikt vandaan?

Gestart door fransiefransBoard Overige software

Reacties: 5
Gelezen: 1805
Laatste bericht 28 februari 2014, 11:45:36
door fransiefrans