[SOLVED][LINUX] Parse/run rename.sh inside archive ?

Come up with a useful post-processing script? Share it here!

[SOLVED][LINUX] Parse/run rename.sh inside archive ?

Postby synci » February 10th, 2015, 2:30 pm

Hey guys,

atm i get much content (mostly tv series) that contains a file named "sffdgdfdhhj45657rtghdg" without extension like *.mkv.
But there is also a rename.sh file inside, can anybody help to to post processing that ?
When i run that rename.sh file everything runs fine and the file gets renamed correctly, but i would prefer the auto mode :)

One way could be to simply rename the biggest file as same as the nzb name is, but as i said already there is no extension given to that file.

There is a *nzbget* offical script available that can handle exactly this, it doesnt run that rename.sh file, it reads and uses the name inside that rename.sh file.
I dont know if its allowed to link here ?

Sorry for my english :(

Thanks !
Last edited by synci on February 12th, 2015, 6:35 am, edited 1 time in total.
synci
Newbie
Newbie
 
Posts: 29
Joined: February 10th, 2015, 2:19 pm

Re: [LINUX] Run rename.sh inside archive ?

Postby sander » February 10th, 2015, 3:53 pm

Can you post a link to such a .NZB?
Can you post a link to that nzbget script?
User avatar
sander
Release Testers
Release Testers
 
Posts: 5800
Joined: January 22nd, 2008, 2:22 pm

Re: [LINUX] Run rename.sh inside archive ?

Postby synci » February 10th, 2015, 4:22 pm

Hey sander,

thanks for reply.

Here is the script:
https://github.com/clinton-hall/GetScri ... eRename.py

Here the topic for it:
http://nzbget.net/forum/viewtopic.php?f=8&t=1624

NZB maybe by pm ?
synci
Newbie
Newbie
 
Posts: 29
Joined: February 10th, 2015, 2:19 pm

Re: [LINUX] Run rename.sh inside archive ?

Postby sander » February 10th, 2015, 5:07 pm

Yes, NZB via PM.
Can you post the line from such rename.sh containing the "mv" command? Preferrably a small download.

I had a look at the github code, and this is the core part:

Code: Select all
    if rename_file:
        rename_lines = [line.strip() for line in open(rename_file)]
        for line in rename_lines:
            cmd = filter(None, re.split('(?:mv|Move)\s+(\S+)\s+(\S+)',line))
            if len(cmd) == 2 and os.path.isfile(os.path.join(dirname, cmd[0])):
                orig = os.path.join(dirname, cmd[0])
                dest = os.path.join(dirname, cmd[1].split('\\')[-1].split('/')[-1])
                if os.path.isfile(dest):
                    continue
                print "[INFO] Renaming file %s to %s" % (orig, dest)
                try:
                    os.rename(orig, dest)
                except Exception,e:
                    print "[ERROR] Unable to rename file due to: %s" % (str(e))
                    sys.exit(NZBGET_POSTPROCESS_ERROR)


So: find the line with "mv" (linux/OSX) or "Move" (windows). In there, get orig and dest filename (some magic handling on dest name), and do the rename.
User avatar
sander
Release Testers
Release Testers
 
Posts: 5800
Joined: January 22nd, 2008, 2:22 pm

Re: [LINUX] Run rename.sh inside archive ?

Postby synci » February 10th, 2015, 5:13 pm

NZB (1,4GB dl) sent via PM.

Thanks !!!

Here the rename.sh:
Code: Select all
#!/bin/bash
mkdir Breaking.Bad.S05E09.German.DL.720p.BluRay.READ.NFO.x264-iNTENTiON
mv    27.06.2014.1 Breaking.Bad.S05E09.German.DL.720p.BluRay.READ.NFO.x264-iNTENTiON/breaking.bad.s05e09.german.dl.720p.bluray.x264-intention.nfo
mv    27.06.2014.2 Breaking.Bad.S05E09.German.DL.720p.BluRay.READ.NFO.x264-iNTENTiON/breaking.bad.s05e09.german.dl.720p.bluray.x264-intention.mkv
mv    27.06.2014.3   Breaking.Bad.S05E09.German.DL.720p.BluRay.READ.NFO.x264-iNTENTiON/Subs
mv    Breaking.Bad.S05E09.German.DL.720p.BluRay.READ.NFO.x264-iNTENTiON/Subs/27.06.2014.4  Breaking.Bad.S05E09.German.DL.720p.BluRay.READ.NFO.x264-iNTENTiON/Subs/breaking.bad.s05e09.german.dl.1080p.bluray.x264-intention.idx
mv    Breaking.Bad.S05E09.German.DL.720p.BluRay.READ.NFO.x264-iNTENTiON/Subs/27.06.2014.5  Breaking.Bad.S05E09.German.DL.720p.BluRay.READ.NFO.x264-iNTENTiON/Subs/breaking.bad.s05e09.german.dl.1080p.bluray.x264-intention.subs.sfv
mv    Breaking.Bad.S05E09.German.DL.720p.BluRay.READ.NFO.x264-iNTENTiON/Subs/27.06.2014.6  Breaking.Bad.S05E09.German.DL.720p.BluRay.READ.NFO.x264-iNTENTiON/Subs/breaking.bad.s05e09.german.dl.1080p.bluray.x264-intention.sub
mv    Breaking.Bad.S05E09.German.DL.720p.BluRay.READ.NFO.x264-iNTENTiON/Subs/27.06.2014.7  Breaking.Bad.S05E09.German.DL.720p.BluRay.READ.NFO.x264-iNTENTiON/Subs/breaking.bad.s05e09.german.dl.1080p.bluray.x264-intention-eng.idx
mv    Breaking.Bad.S05E09.German.DL.720p.BluRay.READ.NFO.x264-iNTENTiON/Subs/27.06.2014.8  Breaking.Bad.S05E09.German.DL.720p.BluRay.READ.NFO.x264-iNTENTiON/Subs/breaking.bad.s05e09.german.dl.1080p.bluray.x264-intention-eng.sub
synci
Newbie
Newbie
 
Posts: 29
Joined: February 10th, 2015, 2:19 pm

Re: [LINUX] Run rename.sh inside archive ?

Postby sander » February 10th, 2015, 5:35 pm

Does one rename.sh file contain just one, or more mv commands?
User avatar
sander
Release Testers
Release Testers
 
Posts: 5800
Joined: January 22nd, 2008, 2:22 pm

Re: [LINUX] Run rename.sh inside archive ?

Postby synci » February 11th, 2015, 12:50 am

I forgot to give that information at the beginning.
Yes, its not only the main video file with that crypted name without extension, all files like .nfo, .sub ... have names like that.
And yes, the rename.sh contains all needed mv commands, for each file, like i posted before.
synci
Newbie
Newbie
 
Posts: 29
Joined: February 10th, 2015, 2:19 pm

Re: [LINUX] Run rename.sh inside archive ?

Postby sander » February 11th, 2015, 6:35 am

OK, so a rename.sh contains a complete list of mv-commands. That's clear.

The NZB you PMed is not downloadable for me, so I'll wait for you to send me a downloadable one.

PS: I wonder why this renaming is done. One thing comes to mind: circumventing early rar scanning ... which is what SABnzbd's feature Unwanted Extensions does ... hmmmm :-\
User avatar
sander
Release Testers
Release Testers
 
Posts: 5800
Joined: January 22nd, 2008, 2:22 pm

Re: [LINUX] Run rename.sh inside archive ?

Postby sander » February 11th, 2015, 7:08 am

I found more of those downloads: http://nzbindex.com/search/?poster=usen ... %3E&more=1

The MUST_READ.txt says:
Auf win_click2rename.bat klicken und die Filename werden richtig zurückbennant.
lINUX ...
Linux_2Rename.sh doppelklicken und dann ... im Terminal ausführen wählen
Falls das nicht klappt muss Linux_2Rename.sh vorher nochmal ausführbar gemacht werden.
Dazu mit rechts die Eigenschaften aufrufen und im Reiter Zugriffsrechte das Häckchen bei
Als Programm ausführen anklicken.
Dann wie oben ... Doppelklich und .. im Termial ausführen

Viel Spass


Wow ... running an executable that you just downloaded ... :o
... if you dare that, you could write a post-processing script that just finds the *.sh resp *.bat and executes it .... ;D

I really understand why the nzbget script filters the mv commands from the script and executes it own. ;)

TBC ...
User avatar
sander
Release Testers
Release Testers
 
Posts: 5800
Joined: January 22nd, 2008, 2:22 pm

Re: [LINUX] Run rename.sh inside archive ?

Postby synci » February 11th, 2015, 7:22 am

Okay, so as i understand you are just before completing the script ? :)
Im not able to script something like that, donation is okay ?

You dont need any nzb now ?
synci
Newbie
Newbie
 
Posts: 29
Joined: February 10th, 2015, 2:19 pm

Re: [LINUX] Run rename.sh inside archive ?

Postby sander » February 11th, 2015, 8:39 am

I have it working. Solved two bugs in the original script.

Here it is:
https://raw.githubusercontent.com/sande ... eRename.py
User avatar
sander
Release Testers
Release Testers
 
Posts: 5800
Joined: January 22nd, 2008, 2:22 pm

Re: [LINUX] Run rename.sh inside archive ?

Postby synci » February 11th, 2015, 9:28 am

Wow thank you so much !!! (Will send you a PM too regarding don)

Just one question, your scripts works great but only when i run it via SSH (/usr/bin/env python SafeRename.py Release)
Its a problem on my OMV machine for sure, but i think its a simple problem you can solve within seconds.

SAB says "Exit(127) /usr/bin/env: python : No such file or directory"
I already tried to edit the python part in your scripts line 1, but as i said it works via SSH.
So "/usr/bin/env python" is possible and works.

Any ideas ?

Thanks !!!
synci
Newbie
Newbie
 
Posts: 29
Joined: February 10th, 2015, 2:19 pm

Re: [LINUX] Run rename.sh inside archive ?

Postby sander » February 11th, 2015, 9:37 am

What is the output of the following commands on your Linux system:

Code: Select all
which python
which env
/usr/bin/env python --version
User avatar
sander
Release Testers
Release Testers
 
Posts: 5800
Joined: January 22nd, 2008, 2:22 pm

Re: [LINUX] Run rename.sh inside archive ?

Postby synci » February 11th, 2015, 9:38 am

Code: Select all
[email protected]:~# which python
/usr/bin/python
[email protected]:~# which env
/usr/bin/env
[email protected]:~# /usr/bin/env python --version
Python 2.7.3
synci
Newbie
Newbie
 
Posts: 29
Joined: February 10th, 2015, 2:19 pm

Re: [LINUX] Run rename.sh inside archive ?

Postby sander » February 11th, 2015, 10:02 am

Strange.
Post the output of

Code: Select all
ls -al <rename-script>


Example:
Code: Select all
$ ls -al SAB-SafeRename.py
-rwxrwxr-x 1 sander sander 1858 feb 11 14:37 SAB-SafeRename.py


Check first line:
Code: Select all
$ head -1 SAB-SafeRename.py
#!/usr/bin/env python



What if you replace the first line with

Code: Select all
#!/usr/bin/python
User avatar
sander
Release Testers
Release Testers
 
Posts: 5800
Joined: January 22nd, 2008, 2:22 pm

Next

Return to Post-Processing Scripts