POSTBUCKET - where random posts in unrelated topics go

Any questions? Need some help?
User avatar
rednoah
The Source
Posts: 18648
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: [DEB] Debian package

Post by rednoah » 23 Nov 2019, 15:54

IDK. If you don't want surprised, then you can just not use the apt repository and manage things manually. Regardless, new version will override the old version, apt takes care of that, so no need to worry about cleanliness.
:idea: Please read the FAQ and How to Request Help.

yodaspowart
Posts: 13
Joined: 02 Jun 2017, 01:04

Re: Batch Rename any type of file

Post by yodaspowart » 26 Nov 2019, 04:46

As the TVDB is down for me on my seedbox (Linux/amc groovy script),
I am now using

Code: Select all

unsortedFormat
Managing to connect and rename to this online FTP folder fine using Mountain Duck and the latest Filebot which is working fine on my Mac.

Code: Select all

--def unsorted=y --def unsortedFormat="Unsorted/{fn =~ /2160p|4K|4k|UHD/ ? 'UHD-2160p/' : fn =~ /1080p/ ? 'HD-1080p' : fn =~ /720p/ ? 'HD-720p' : 'SD'}/{fn}.{ext}"
Image
I have now got TV shows into specific folders for resolution.

Would like to use the file naming setup to match the name of the show in a certain way:
Original file name:

Code: Select all

Legacies.S02E01.HDTV.x264-KILLERS[eztv].mkv
Wanted: Legacies - S02E01 - HDTV x264-KILLERS[eztv]

Not sure how it can be cleaner?

Code: Select all

{fn.before(/S\d{2}E\d{2}/).space(' ')} - {fn.match(/S\d{2}E\d{2}/).space(' ')} - {fn.after(/S\d{2}E\d{2}/).space(' ')}
Using the filebot GUI to test in file mode:
Image

User avatar
rednoah
The Source
Posts: 18648
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Batch Rename any type of file

Post by rednoah » 26 Nov 2019, 05:41

If it works, I'd leave it at that. Once you start parsing file names yourself, things necessarily level up in terms of complexity.

If simplification is the goal, at the cost of getting exactly what you want, then here's my solution:

Code: Select all

{fn.replaceAll(/[ .-]+/, ' - ')}

Code: Select all

Legacies - S02E01 - HDTV - x264 - KILLERS[eztv]
:idea: Please read the FAQ and How to Request Help.

plittlefield
Posts: 98
Joined: 09 Mar 2014, 19:15

Re: [DEB] Debian package

Post by plittlefield » 26 Nov 2019, 17:32

Ooooo, this could be the winning command line, which only installs 3 packages!

Code: Select all

$ sudo apt -s --no-install-recommends install /home/paully/Downloads/filebot/FileBot_4.9.0_universal-jdk8.deb

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'filebot' instead of '/home/paully/Downloads/filebot/FileBot_4.9.0_universal-jdk8.deb'
The following additional packages will be installed:
  libjna-java libjna-jni
Suggested packages:
  libjna-java-doc
Recommended packages:
  openjdk-8-jre openjfx libchromaprint-tools p7zip-full unrar | unrar-free
The following NEW packages will be installed
  filebot libjna-java libjna-jni
0 to upgrade, 3 to newly install, 0 to remove and 6 not to upgrade.
Inst libjna-jni (4.2.2-1 Ubuntu:16.04/xenial [amd64])
Inst libjna-java (4.2.2-1 Ubuntu:16.04/xenial [all])
Inst filebot (4.9.0 local-deb [all])
Conf libjna-jni (4.2.2-1 Ubuntu:16.04/xenial [amd64])
Conf libjna-java (4.2.2-1 Ubuntu:16.04/xenial [all])
Conf filebot (4.9.0 local-deb [all])
...will filebot work without all the recommended packages?!

Also, I am only running OpenJDK Java v8...

Code: Select all

openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-8u222-b10-1ubuntu1~16.04.1-b10)
OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)
Am I good to go?!

:-)

Paully

plittlefield
Posts: 98
Joined: 09 Mar 2014, 19:15

Re: [DEB] Debian package

Post by plittlefield » 26 Nov 2019, 17:54

OK, so I went for it.

Turns out my current filebot was just a symlink to the TAR version, which made things easier.

Here are my upgrade / install commands as root...

Code: Select all

$ apt install p7zip-full unrar
$ apt --no-install-recommends install FileBot_4.9.0_universal-jdk8.deb
So, I now have this...

Code: Select all

$ filebot -script fn:sysinfo
FileBot 4.9.0 (r6899)
JNA Native: 4.0.1
MediaInfo: 19.09
p7zip: p7zip Version 9.20 (locale=en_GB.UTF-8,Utf16=on,HugeFiles=on,4 CPUs)
unrar: UNRAR 5.30 beta 2 freeware
Chromaprint: java.io.IOException: Cannot run program "fpcalc": error=2, No such file or directory
Extended Attributes: OK
Unicode Filesystem: OK
Script Bundle: 2019-11-16 (r603)
Groovy: 2.5.8
JRE: OpenJDK Runtime Environment 1.8.0_222
JVM: 64-bit OpenJDK 64-Bit Server VM
CPU/MEM: 4 Core / 3.7 GB Max Memory / 33 MB Used Memory
OS: Linux (amd64)
HW: Linux nas 4.15.0-15-generic #16~16.04.1-Ubuntu SMP Thu Apr 5 12:19:23 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
STORAGE: ext4 [/] @ 106 GB | fuse.sshfs [/home/paully/Downloads/seedbox2] @ 990 GB
DATA: /home/paully/.filebot
Package: DEB
License: FileBot License xxxxxxxx (Valid-Until: 2020-07-31)
Done ヾ(@⌒ー⌒@)ノ
...cannot wait to try it out!

Fingers crossed!

Thanks!

Regards,

Paully

yodaspowart
Posts: 13
Joined: 02 Jun 2017, 01:04

Re: Batch Rename any type of file

Post by yodaspowart » 26 Nov 2019, 19:00

Thanks a lot @rednoah also for quick reply.
It's perfect for me.

yodaspowart
Posts: 13
Joined: 02 Jun 2017, 01:04

Re: Batch Rename any type of file

Post by yodaspowart » 26 Nov 2019, 23:22

Updated my unsorted folder now:

Currently it's working in case anyone is interested in this:

Code: Select all

--def unsorted=y --def unsortedFormat="Unsorted/{fn =~ /2160p|4K|4k|UHD/ ? 'UHD-2160p/' : fn =~ /1080p/ ? 'HD-1080p' : fn =~ /720p/ ? 'HD-720p' : 'SD'}/{fn.before(/S\d{2}E\d{2}/).upperInitial().space(' ')} - {fn.match(/S\d{2}E\d{2}/).upper()} - {fn.after(/S\d{2}E\d{2}/).stripReleaseInfo().upperInitial().space(' ')} [{allOf{match}{s3d}{hd}{vc}{source}{vf}{('-')}{af}{ac}{channels}{n.findMatch(group) ? null : '- '+group} join ' '}].{ext}" --def exec="curl --insecure https://seedBoxPlexURL:port/library/sections/all/refresh?X-Plex-Token=XXXXXXXXXXXXXXXXXX_X"
Now Plex can pull in the TV shows from my: HD-1080p & UHD-2160p folders.
This is a fallback until TVDB is up and running.
I'm still renaming them properly with the Filebot GUI 4.8.5 through Mountain Duck mounted online FTP drive

Movies rarely go into unsorted.
If they end up here would get named like this:
Original name:

Code: Select all

A.Christmas.Tale.2008.Criterion.576p.BDRip.x264.AC3-Q0S.mp4

becomes:

Code: Select all

A Christmas Tale 2008 Criterion 576p BDRip X264 AC3-Q0S - - A Christmas Tale 2008 Criterion [HD AVC BDRip 1080p - 2ch AAC 2.0]

plittlefield
Posts: 98
Joined: 09 Mar 2014, 19:15

Re: [DEB] Debian package

Post by plittlefield » 27 Nov 2019, 09:52

Yep, all good :-)

With 4.9.0 the process seems to be faster and better at matching titles.

Thanks for your help and keep up the great work on this time-saving gem.

Paully

guyrivera
Posts: 1
Joined: 06 Dec 2019, 04:19

Re: Plex Naming Schemes

Post by guyrivera » 06 Dec 2019, 04:22

rednoah wrote:
07 Feb 2019, 14:38
There's no convenience method for this particular use case.

You'll either have to
(A) write your own custom format without using the {plex} binding at all, or
(B) write your own custom format using bits and pieces of the {plex} binding as necessary.

e.g.

Code: Select all

Movies/{plex[1]}{" [$vf.$vc.$ac]"}/{plex[2]}{" [$vf.$vc.$ac]"}

:!: Either way, you'll no longer be strictly adhering to the Plex naming scheme, although it'll probably work.
Thanks a lot - it works!

sblack55
Posts: 22
Joined: 23 Sep 2015, 18:43

Re: --filter and fine-tuning

Post by sblack55 » 08 Dec 2019, 20:26

rednoah wrote:
27 Oct 2014, 20:54
You can manage your list of explicitly excluded (or included) shows with an external text file.

Code: Select all

--filter '!readLines('/path/to/excludes.txt').contains(n)'
Having some trouble with this syntax, probably due my failure to grasp the vagaries of script/cmdline quoting. Here are the key lines from my bash script:

Code: Select all

PVR_LOC="/volume1/PVR"
...
sFilter='!readLines('${PVR_LOC}/ExcludeShows.txt').contains(n)'
…
filebot "${sSourceFile}" ${FB_OPTS} -script fn:amc --output "${DEST}" ${sMapper} --filter "${sFilter}" --def seriesFormat="${FB_FMT_SERIES}" --def movieFormat="${FB_FMT_MOVIE}" --def "ut_label=${UTLABEL}">/tmp/fblog.txt 2>&1
And here is my log:

Code: Select all

Dec 08 15:03:38: filebot "/volume1/PVR/record/The Carbonaro Effect/The Carbonaro Effect.S01E12.An Elevated Ferret Alert.ts" -non-strict --action hardlink --conflict auto -script fn:amc --output "/volume1/PVR/General" --mapper episode.derive(0,0) --filter "!readLines(/volume1/PVR/ExcludeShows.txt).contains(n)" --def seriesFormat="TV Shows/{ny}/Season {s}/{n}.{s00e00}.{t}" --def movieFormat="" --def "ut_label=TV"
Dec 08 15:03:50: Run script [fn:amc] at [Sun Dec 08 15:03:42 EST 2019]
Dec 08 15:03:50: Parameter: seriesFormat = TV Shows/{ny}/Season {s}/{n}.{s00e00}.{t}
Dec 08 15:03:50: Parameter: movieFormat =
Dec 08 15:03:50: Parameter: ut_label = TV
Dec 08 15:03:50: Argument[0]: /volume1/PVR/record/The Carbonaro Effect/The Carbonaro Effect.S01E12.An Elevated Ferret Alert.ts
Dec 08 15:03:50: Input: /volume1/PVR/record/The Carbonaro Effect/The Carbonaro Effect.S01E12.An Elevated Ferret Alert.ts
Dec 08 15:03:50: Group: {Series=true} => [The Carbonaro Effect.S01E12.An Elevated Ferret Alert.ts]
Dec 08 15:03:50: ScriptException: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
Dec 08 15:03:50: Script2.groovy: 1: unexpected token: PVR @ line 1, column 21.
Dec 08 15:03:50: !readLines(/volume1/PVR/ExcludeShows.txt).contains(n)
Dec 08 15:03:50: ^
Dec 08 15:03:50: 
Dec 08 15:03:50: 1 error
Dec 08 15:03:50: 
Dec 08 15:03:50: Finished without processing any files
Dec 08 15:03:50: Abort (×_×)
SysInfo:

Code: Select all

FileBot 4.8.6 (r6868)
JNA Native: 6.1.0
MediaInfo: 19.04
7-Zip-JBinding: 9.20
Chromaprint: 1.4.3
Extended Attributes: OK
Unicode Filesystem: OK
Script Bundle: 2019-12-07 (r610)
Groovy: 2.5.8
JRE: OpenJDK Runtime Environment 13.0.1
JVM: 64-bit OpenJDK 64-Bit Server VM
CPU/MEM: 4 Core / 522 MB Max Memory / 26 MB Used Memory
OS: Linux (amd64)
HW: Linux NetStore 3.10.105 #24922 SMP Wed Jul 3 16:37:24 CST 2019 x86_64 GNU/Linux synology_avoton_1815+
STORAGE: ext4 [/] @ 1.2 GB | btrfs [/volume1] @ 7 TB
DATA: /volume1/@appstore/filebot/data/admin
Package: SPK
License: FileBot License P9013368 (Valid-Until: 2020-08-23)
Done ヾ(@⌒ー⌒@)ノ

User avatar
rednoah
The Source
Posts: 18648
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: --filter and fine-tuning

Post by rednoah » 09 Dec 2019, 10:51

YES:

Code: Select all

!readLines('/path/to/excludes.txt').contains(n)
:idea: This is the value you want to pass in.

NO:

Code: Select all

!readLines(/volume1/PVR/ExcludeShows.txt).contains(n)
:!: This is the value you are actually passing in, which is syntactically incorrect Groovy code, hence syntax errors.


Hence:

Code: Select all

--filter '!readLines("/path/to/excludes.txt").contains(n)'
:arrow: Please read Cmdline and Argument Passing for details.
:idea: Please read the FAQ and How to Request Help.

sblack55
Posts: 22
Joined: 23 Sep 2015, 18:43

Re: --filter and fine-tuning

Post by sblack55 » 09 Dec 2019, 12:36

rednoah wrote:
09 Dec 2019, 10:51
Hence:

Code: Select all

--filter '!readLines("/path/to/excludes.txt").contains(n)'
Got it working, thanks!

(Single-quotes, double-quotes, substitutions, no substitutions... sheesh, I'm dizzy!)

moonshine
Posts: 2
Joined: 10 Dec 2019, 09:54

Re: FileBot on the Mac App Store

Post by moonshine » 10 Dec 2019, 10:01

Hi... I purchade the app on the Appstore and then realized that this version doesn't support command line... I tried to get a refund, but apple refuses "We've determined that your purchase doesn't meet the conditions for a refund." Whatever that means....

Is there anyway to "convert" to a universal license ? (Maybe pay a price difference- I know apple takes a cut)
Thanks.

User avatar
rednoah
The Source
Posts: 18648
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: FileBot on the Mac App Store

Post by rednoah » 10 Dec 2019, 14:05

I suppose you could request a 1-year complimentary license:
viewtopic.php?t=9517
:idea: Please read the FAQ and How to Request Help.

moonshine
Posts: 2
Joined: 10 Dec 2019, 09:54

Re: FileBot on the Mac App Store

Post by moonshine » 11 Dec 2019, 02:25

that's an expensive 1 year license... but i'll give it a try... i don't like subscription model (although I understand why developers would prefer a constant flow of revenue) ... and thats the reasson i bought from appstore ... (shoudl have done more reading about it... )

bilaalpeters
Posts: 1
Joined: 11 Dec 2019, 06:30

Re: --filter and fine-tuning

Post by bilaalpeters » 11 Dec 2019, 06:33

That worked, thanks so much!

UnseenThreat
Posts: 1
Joined: 14 Dec 2019, 16:37

Re: Unattended Automation with FileBot Node

Post by UnseenThreat » 14 Dec 2019, 16:39

I follow all the instruction but when i try to execute i have : BUG! exception in phase 'semantic analysis' in source unit 'Script1.groovy' Unsupported class file major version 57
Did you know why?
Regards

User avatar
rednoah
The Source
Posts: 18648
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Unattended Automation with FileBot Node

Post by rednoah » 14 Dec 2019, 20:13

UnseenThreat wrote:
14 Dec 2019, 16:39
BUG! exception in phase 'semantic analysis' in source unit 'Script1.groovy' Unsupported class file major version 57
:arrow: viewtopic.php?f=13&t=11099
:idea: Please read the FAQ and How to Request Help.

hellojello
Posts: 1
Joined: 14 Dec 2019, 23:31

Re: FileBot on the Mac App Store

Post by hellojello » 14 Dec 2019, 23:33

Hello

JD2005
Posts: 3
Joined: 16 Dec 2019, 15:43

Re: --filter and fine-tuning

Post by JD2005 » 16 Dec 2019, 15:47

What's the correct syntax inside of the excludes.txt file? I'm finding contradicting information, some saying you just list the episodes line by line, others saying you need to include the 'n !=' ahead of it.

User avatar
rednoah
The Source
Posts: 18648
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: --filter and fine-tuning

Post by rednoah » 16 Dec 2019, 16:02

The code is literally reading the file, so this piece of code implicitly specifies the format, which is values line by line:

Code: Select all

!readLines("/path/to/excludes.txt").contains(n)
e.g. /path/to/excludes.txt

Code: Select all

Alias
Firefly
This would be functionally equivalent just specifying the list of values in code instead of an external text file:

Code: Select all

![/Alias/, /Firefly/].contains(n)

:idea: --filter allows you to specify arbitrary code. Maybe your code reads a file and checks if n is in there. Maybe your code checks if n is a specific value or not. Maybe your code does something I haven't thought of yet. It's your code. Anything is possible. Hence you will find different solutions made by different people hand-crafted for different use cases.


:idea: You may find "conflicting" information because some people use the @file syntax for reading command-line arguments from external text files. That's completely different though. But if all args (including the filter option) a read from a text file anyway, then some users might prefer to specify this data inline rather than in another external text file.
:idea: Please read the FAQ and How to Request Help.

JD2005
Posts: 3
Joined: 16 Dec 2019, 15:43

Re: --filter and fine-tuning

Post by JD2005 » 16 Dec 2019, 16:25

Thank you, I wasn't sure as Filebot comes back with the words 'Include' next to each line, as well it doesn't seem to be excluding what I'm specifying as it's being labeled incorrectly anyway. I'm using the syntax laid out in this thread so just wanted to make sure I was applying this correctly before trying to figure out where else the issue is.

In case you could give me any pointers, the show 'Watchmen' is being converted to 'Vekterne' no matter what I do... All other shows seem to be working fine except this one. I realize Vekterne is Norwegian for Watchmen, but still not sure why it's choosing this language for just this show. The show and input filename going into it is english. I am also using '--lang en' in my script, so again not sure what's happening. If you have any advice I certainly appreciate it.

Code: Select all

filebot -script fn:amc --output "/home/user/Media" --action move --conflict skip -non-strict "/home/user/Stage" --log-file amc.log --def unsorted=y music=y --lang en --filter "!readLines('/home/user/uScripts/excludes.txt').contains(n)"
"

User avatar
rednoah
The Source
Posts: 18648
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: --filter and fine-tuning

Post by rednoah » 16 Dec 2019, 17:37

You can use filebot -list for testing:

Code: Select all

filebot -list --db TheTVDB --q Watchmen -non-strict

e.g.

Code: Select all

$ filebot -list --db TheTVDB --q Watchmen -non-strict --filter "!(n ==~ /WatchMojo|Pitchmen| Vekterne|Watchmen: Motion Comic/)"
Apply filter [!(n ==~ /WatchMojo|Pitchmen| Vekterne|Watchmen: Motion Comic/)] on [249] items
Include [Watchmen - 1x01 - It's Summer and We're Running Out of Ice]
Include [Watchmen - 1x02 - Martial Feats of Comanche Horsemanship]
Include [Watchmen - 1x03 - She Was Killed by Space Junk]
Include [Watchmen - 1x04 - If You Don't Like My Story, Write Your Own]
Include [Watchmen - 1x05 - Little Fear of Lightning]
Include [Watchmen - 1x06 - This Extraordinary Being]
Include [Watchmen - 1x07 - An Almost Religious Awe]
Include [Watchmen - 1x08 - A God Walks into Abar.]
Include [Watchmen - 1x09 - See How They Fly]
Watchmen - 1x01 - It's Summer and We're Running Out of Ice
Watchmen - 1x02 - Martial Feats of Comanche Horsemanship
Watchmen - 1x03 - She Was Killed by Space Junk
Watchmen - 1x04 - If You Don't Like My Story, Write Your Own
Watchmen - 1x05 - Little Fear of Lightning
Watchmen - 1x06 - This Extraordinary Being
Watchmen - 1x07 - An Almost Religious Awe
Watchmen - 1x08 - A God Walks into Abar.
Watchmen - 1x09 - See How They Fly

:!: Turns out " Vekterne" has a leading space in the database, which is probably an errors, so as far as the exclude list is concerned, I'd add both values:

Code: Select all

Vekterne
 Vekterne
:!: readLines() may or may not trim() lines implicitly. It don't know. It might. If it does, then this won't work either.


:idea: Newer revisions of FileBot implicitly trim() all values we get back from TheTVDB, as to avoid invisible leading/trailing spaces messing with us: viewtopic.php?t=1609
:idea: Please read the FAQ and How to Request Help.

JD2005
Posts: 3
Joined: 16 Dec 2019, 15:43

Re: --filter and fine-tuning

Post by JD2005 » 16 Dec 2019, 22:52

Well in the meantime I was researching and found that my Ubuntu server's locale was blank, so I set it to en_US.utf-8. At the same time I added the ' Vekterne' to the exceptions list and reran the script and it worked! So not sure which one solved it but either way I really appreciate your assistance!

kim
Power User
Posts: 1000
Joined: 15 May 2014, 16:17

Re: --filter and fine-tuning

Post by kim » 17 Dec 2019, 01:37

someone renamed show in English to Vekterne ;)

Post Reply