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

Ben(V)

  • Gast
Re: extra script in NZBget toevoegen
« Reactie #45 Gepost op: 31 december 2014, 11:12:54 »
Volgens mij kun je dit bereiken door ".*" op te geven als extensie die verwijdert moet worden.
Kun je volgens mij alle andere weggooien.

Offline GeddyLee

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 31
  • -Ontvangen: 29
  • Berichten: 403
Re: extra script in NZBget toevoegen
« Reactie #46 Gepost op: 31 december 2014, 11:20:45 »
Bedoel je onder MediaExtensions? of ergens in het script zelf?


  • Mijn Synology: DS214+
  • HDD's: 2 X WD30EFRX
  • Extra's: DSM 6

Ben(V)

  • Gast
Re: extra script in NZBget toevoegen
« Reactie #47 Gepost op: 31 december 2014, 11:25:41 »
Gewoon onder media extensions in NZBget.
Wildcard(.* of anders *.*) doet volgens mij alles.
Als het niet zo werkt zal ik nog wel even in het script duiken, maar aan de code te zien moet het gewoon zo werken.

Offline GeddyLee

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 31
  • -Ontvangen: 29
  • Berichten: 403
Re: extra script in NZBget toevoegen
« Reactie #48 Gepost op: 31 december 2014, 11:41:40 »
.* of *.* doen niets, mediaextensions kijkt (imho) of het woord sample in de opgegeven extensie zit:


Media Extensions This is a list of media extensions that may be deleted if a Sample_id is in the filename.


Binnen het script herken in niet waar je dit zou kunnen veranderen zodat alles gedelete wordt behalve bestanden groter dan (bijvoorbeeld) 200MB, het is geheimtaal voor mij
  :o
  • Mijn Synology: DS214+
  • HDD's: 2 X WD30EFRX
  • Extra's: DSM 6

Ben(V)

  • Gast
Re: extra script in NZBget toevoegen
« Reactie #49 Gepost op: 31 december 2014, 12:05:29 »
Je moet in het veld SampleIds alleen het woord "SizeOnly" invullen.

Offline GeddyLee

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 31
  • -Ontvangen: 29
  • Berichten: 403
Re: extra script in NZBget toevoegen
« Reactie #50 Gepost op: 31 december 2014, 12:11:09 »
Heb ik ook ..
  • Mijn Synology: DS214+
  • HDD's: 2 X WD30EFRX
  • Extra's: DSM 6

Ben(V)

  • Gast
Re: extra script in NZBget toevoegen
« Reactie #51 Gepost op: 31 december 2014, 12:22:14 »
Sorry zie het al, gaat niet met een wildcard.

Je moet even een stukje code veranderen.
Dit stukje:
Code: (python) [Selecteer]
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)
        if fileExtension in mediaContainer:  # If the file is a video file
            if is_sample(filePath, os.environ['NZBPP_NZBNAME'], os.environ['NZBPO_MAXSAMPLESIZE'], SampleIDs):  # Ignore samples
                print "Deleting sample file: ", filePath
                try:
                    os.unlink(filePath)
                except:
                    print "Error: unable to delete file", filePath
                    sys.exit(NZBGET_POSTPROCESS_ERROR)

Moet je vervangen door:

Code: (python) [Selecteer]
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)
        if is_sample(filePath, os.environ['NZBPP_NZBNAME'], os.environ['NZBPO_MAXSAMPLESIZE'], SampleIDs):  # Ignore samples
            print "Deleting sample file: ", filePath
            try:
                os.unlink(filePath)
            except:
                print "Error: unable to delete file", filePath
                sys.exit(NZBGET_POSTPROCESS_ERROR)

Eigenlijk haal je de regel eruit die op die extensions checked zijnde:
Code: (python) [Selecteer]
if fileExtension in mediaContainer:  # If the file is a video file


Als alternatief zou je die regel kunnen veranderen in:
Code: (python) [Selecteer]
if fileExtension in mediaContainer or ".*" in mediaContainer :  # If the file is a video file

In het eerste geval kijkt hij nooit meer naar de extensie van het bestand en in het tweede geval kijkt hij er niet meer naar als er .* in NZBget is opgegeven.

Offline GeddyLee

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 31
  • -Ontvangen: 29
  • Berichten: 403
Re: extra script in NZBget toevoegen
« Reactie #52 Gepost op: 31 december 2014, 14:16:47 »
Werkt! Heel hartelijk dank!


Krijg wel een error maar het werkt zoals ik voor ogen had:
Post-process-script DeleteSamples.py for ........... S05E02 XViD DD51 NLSubs -Q o Q 16- failed (terminated with unknown status)
  • Mijn Synology: DS214+
  • HDD's: 2 X WD30EFRX
  • Extra's: DSM 6

Ben(V)

  • Gast
Re: extra script in NZBget toevoegen
« Reactie #53 Gepost op: 31 december 2014, 15:18:09 »
Blij dat het werkt.
Je hebt vermoeddelijk de laatste regel van het script ook weggelaten.
Die had eigenlijk moeten blijven staan.
Deze dus.

Code: (python) [Selecteer]
sys.exit(NZBGET_POSTPROCESS_SUCCESS)

Offline GeddyLee

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 31
  • -Ontvangen: 29
  • Berichten: 403
Re: extra script in NZBget toevoegen
« Reactie #54 Gepost op: 31 december 2014, 15:45:09 »
Klopt! dus aangepast en nu krijg ik onderstaande te zien:


Post-process-script DeleteSamples.py for .. S05E02 XViD DD51 NLSubs -Q o Q 20- failed (terminated with unknown status)
[/size]DeleteSamples: NameError: name 'NZBGET_POSTPROCESS_SUCCESS' is not defined[/color]
[/size]DeleteSamples: sys.exit(NZBGET_POSTPROCESS_SUCCESS)[/color]
[/size]DeleteSamples: File "/usr/local/nzbget/share/nzbget/scripts/nzbToMedia/DeleteSamples.py", line 110, in <module>[/color]
[/size]DeleteSamples: Traceback (most recent call last):[/color]
  • Mijn Synology: DS214+
  • HDD's: 2 X WD30EFRX
  • Extra's: DSM 6

Ben(V)

  • Gast
Re: extra script in NZBget toevoegen
« Reactie #55 Gepost op: 31 december 2014, 16:52:15 »
Je zult wel een foutje met het editen gemaakt hebben.
Hier heb je het hele script inclusief de aanpassing.
Deze verlangt wel dat je .* opgeeft.

Code: (python) [Selecteer]
#!/usr/bin/env python
#
##############################################################################
### NZBGET POST-PROCESSING SCRIPT                                          ###

# Delete ".sample" files.
#
# This script removed sample files from the download directory.
#
# NOTE: This script requires Python to be installed on your system.

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

# Media Extensions
#
# This is a list of media extensions that may be deleted if a Sample_id is in the filename.
#mediaExtensions=.mkv,.avi,.divx,.xvid,.mov,.wmv,.mp4,.mpg,.mpeg,.vob,.iso

# maxSampleSize
#
# This is the maximum size (in MiB) to be be considered as sample file.
#maxSampleSize=200

# SampleIDs
#
# This is a list of identifiers used for samples. e.g sample,-s. Use 'SizeOnly' to delete all media files less than maxSampleSize.
#SampleIDs=sample,-s.

### NZBGET POST-PROCESSING SCRIPT                                          ###
##############################################################################
import os
import sys

# NZBGet Exit Codes
NZBGET_POSTPROCESS_PARCHECK = 92
NZBGET_POSTPROCESS_SUCCESS = 93
NZBGET_POSTPROCESS_ERROR = 94
NZBGET_POSTPROCESS_NONE = 95

def is_sample(filePath, inputName, maxSampleSize, SampleIDs):
    # 200 MB in bytes
    SIZE_CUTOFF = int(maxSampleSize) * 1024 * 1024
    if os.path.getsize(filePath) < SIZE_CUTOFF:
        if 'SizeOnly' in SampleIDs:
            return True
        # Ignore 'sample' in files unless 'sample' in Torrent Name
        for ident in SampleIDs:
            if ident.lower() in filePath.lower() and not ident.lower() in inputName.lower():
                return True
    # Return False if none of these were met.
    return False
 
if not os.environ.has_key('NZBOP_SCRIPTDIR'):
    print "This script can only be called from NZBGet (11.0 or later)."
    sys.exit(0)

if os.environ['NZBOP_VERSION'][0:5] < '11.0':
    print "NZBGet Version %s is not supported. Please update NZBGet." % (str(os.environ['NZBOP_VERSION']))
    sys.exit(0)

print "Script triggered from NZBGet Version %s." % (str(os.environ['NZBOP_VERSION']))
status = 0
if os.environ.has_key('NZBPP_TOTALSTATUS'):
    if not os.environ['NZBPP_TOTALSTATUS'] == 'SUCCESS':
        print "Download failed with status %s." % (os.environ['NZBPP_STATUS'])
        status = 1

else:
    # Check par status
    if os.environ['NZBPP_PARSTATUS'] == '1' or os.environ['NZBPP_PARSTATUS'] == '4':
        print "Par-repair failed, setting status \"failed\"."
        status = 1

    # Check unpack status
    if os.environ['NZBPP_UNPACKSTATUS'] == '1':
        print "Unpack failed, setting status \"failed\"."
        status = 1

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

        if os.environ['NZBPP_HEALTH'] < 1000:
            print "Download health is compromised and Par-check/repair disabled or no .par2 files found. Setting status \"failed\"."
            print "Please check your Par-check/repair settings for future downloads."
            status = 1

        else:
            print "Par-check/repair disabled or no .par2 files found, and Unpack not required. Health is ok so handle as though download successful."
            print "Please check your Par-check/repair settings for future downloads."

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

# All checks done, now launching the script.
if status == 1:
    sys.exit(NZBGET_POSTPROCESS_NONE)

mediaContainer = os.environ['NZBPO_MEDIAEXTENSIONS'].split(',')
SampleIDs = os.environ['NZBPO_SAMPLEIDS'].split(',')
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)
        if fileExtension in mediaContainer or ".*" in mediaContainer :  # If the file is a video file
            if is_sample(filePath, os.environ['NZBPP_NZBNAME'], os.environ['NZBPO_MAXSAMPLESIZE'], SampleIDs):  # Ignore samples
                print "Deleting sample file: ", filePath
                try:
                    os.unlink(filePath)
                except:
                    print "Error: unable to delete file", filePath
                    sys.exit(NZBGET_POSTPROCESS_ERROR)
sys.exit(NZBGET_POSTPROCESS_SUCCESS)

Offline GeddyLee

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 31
  • -Ontvangen: 29
  • Berichten: 403
Re: extra script in NZBget toevoegen
« Reactie #56 Gepost op: 01 januari 2015, 08:10:44 »
Ja inderdaad, het werkt nu zonder enige foutmelding. Nogmaals heel erg bedankt!
  • Mijn Synology: DS214+
  • HDD's: 2 X WD30EFRX
  • Extra's: DSM 6

Offline Moppersmurf

  • Bedankjes
  • -Gegeven: 9
  • -Ontvangen: 3
  • Berichten: 29
Re: extra script in NZBget toevoegen
« Reactie #57 Gepost op: 13 maart 2018, 17:34:16 »
Misschien toch wel handig het hier te vermelden, ook als is dit topic oud.
Het is me gelukt om reverse_name.py aan de praat te krijgen:

   Tue Mar 13 2018 16:51:43   Collection 99UrrRENNVM2WXtY added to history
INFO   Tue Mar 13 2018 16:51:43   Post-process-script reverse_name.py for 99UrrRENNVM2WXtY successful
INFO   Tue Mar 13 2018 16:51:43   reverse_name: reversing filename from: buS-LN.LIATER.462.H.1.5PDD.LD-BEW.NZMA.p0801.gniS.daehniP.teL.71E30S.reficuL to Lucifer.S03E17.Let.Pinhead.Sing.1080p.AMZN.WEB-DL.DDP5.1.H.264.RETAIL.NL-Sub
INFO   Tue Mar 13 2018 16:51:43   reverse_name: Script triggered from NZBGet (11.0 or later).
INFO   Tue Mar 13 2018 16:51:42   Executing post-process-script reverse_name.py for 99UrrRENNVM2WXtY
INFO   Tue Mar 13 2018 16:51:42   Move for 99UrrRENNVM2WXtY successful
INFO   Tue Mar 13 2018 16:51:42   Moving completed files for 99UrrRENNVM2WXtY
INFO   Tue Mar 13 2018 16:51:42   Cleanup for 99UrrRENNVM2WXtY successful
INFO   Tue Mar 13 2018 16:51:42   Deleting file 99UrrRENNVM2WXtY.vol001+001.par2
INFO   Tue Mar 13 2018 16:51:42   Cleaning up 99UrrRENNVM2WXtY

Had bovenstaande tips uitgevoerd: verplaatsen scripts. 755 rechten, aanpassen 1e regel script vanwege synocommunity, script toevoegen aan extension scripts en categories.
Vervolgens werkte het maar niet.
Nu bij scripts en categories GetScripts/flatten.py, reverse_name.py gezet en het werkt perfect.
Ben er blij mee, scheelt weer hoop werk met reverse filenamen.
DS214PLAY
HDD's: Seag. NAS HDD 2x4TB
Extra's: 1xext.HD 3TB,2x 2TB, 2x 6TB
DS416PLAY
HDD's: WD RED HDD 2x4TB


 

Extra Synology NAS

Gestart door phdBoard Aankoopadvies

Reacties: 5
Gelezen: 2048
Laatste bericht 03 januari 2014, 18:54:41
door phd
Advies: HD upgrade of extra NAS

Gestart door koolenboerBoard Aankoopadvies

Reacties: 13
Gelezen: 3068
Laatste bericht 10 maart 2016, 22:35:52
door koolenboer
Extra resources toewijzen aan Docker

Gestart door mc_Board Docker / Container Manager

Reacties: 3
Gelezen: 635
Laatste bericht 15 augustus 2022, 11:20:05
door DSGebruiker
Harddisk toegevoegd maar geen extra capaciteit zichtbaar

Gestart door vinolBoard Synology DSM 6.0

Reacties: 16
Gelezen: 4107
Laatste bericht 09 september 2016, 09:03:11
door Robert Koopman
Extra (tweede) schijf plaatsen

Gestart door robdopBoard NAS hardware vragen

Reacties: 9
Gelezen: 3174
Laatste bericht 13 februari 2016, 14:49:39
door Robert Koopman