Code: Select all
{ny}{'/Season ' + s.pad(2)}{'/' + ny}{' - ' + s00e00}{' - ' + t}{allOf{vf}{source}{vc}{bitdepth == 10 ? ' 10-bit' : ''}{ac}{channels}{group}.joining(' ', ' [', ']')}
Code: Select all
{ny}{'/Season ' + s.pad(2)}{'/' + ny}{' - ' + s00e00}{' - ' + t}{allOf{vf}{source}{vc}{bitdepth == 10 ? ' 10-bit' : ''}{ac}{channels}{group}.joining(' ', ' [', ']')}
otr wrote: ↑17 Aug 2018, 12:10 Hi,
sorry for being silent for a bit, I have been on a short trip. In the meantime, my setup is now working and I wanted to report back my specifics, so that others may benefit, but also so that I can learn in case I have missed something important.
This is what is working for me:
1. jDownloader Event Scripter calls this script
For people that were new to this, just like me:Code: Select all
[{"eventTrigger":"ON_PACKAGE_FINISHED", "enabled":true, "name":"FileBot", "script":"var amcFile = '/volume1/Downloads/jdtofilebotv2.sh';var path = '/volume1/Downloads/'; callAsync(function() {}, amcFile, path);", "eventTriggerSettings":{}, "id":123654}]
- The above is the exact "text" that you can see in the jDownloader UI. Compare this screenshot: https://snag.gy/kYHCEN.jpg
- id:123654 is a random number I thought of. The way I understand it this is the ID the process runs under and I would be able to find it under this ID, if I had to look for it.
2. the jdtofilebotv2.sh script that is called above
I would be happy to get comments on this, especially since people later might look at this and assume that I did smart things (I did not - I just figured out what works for me somehow).Code: Select all
#!/bin/sh export JAVA_OPTS="-Xmx256m" /var/packages/filebot/target/filebot.sh -script 'fn:amc' /volume1/Downloads --output /volume1/Media/ --conflict auto --lang en --def 'clean=y' 'skipExtract=y' 'excludeList=.excludes'
One issue I have is that I still do not find the filebot log file created by this setup.
Code: Select all
{any{textLanguages =~ /fra/ ? 'vostfr' : ''}{fn.match(/VOSTFR|Vostfr|vostFR|VostFR|vostfr/).lower()}}
Code: Select all
C:\Users\olero>"C:\Program Files\FileBot\filebot.exe" -script fn:amc --output "C:/Plex" --action copy --conflict skip -non-strict --log-file amc.log --def unsorted=y music=y artwork=y "ut_label=%L" "ut_state=%S" "ut_title=%N" "ut_kind=%K" "ut_file=%F" "ut_dir=%D"
Run script [fn:amc] at [Fri Nov 20 11:15:02 CET 2020]
Parameter: unsorted = y
Parameter: music = y
Parameter: artwork = y
Parameter: ut_label = %L
Parameter: ut_state = %S
Parameter: ut_title = %N
Parameter: ut_kind = %K
Parameter: ut_file = %F
Parameter: ut_dir = %D
Bad ut_label value: %L
Bad ut_state value: %S
Bad ut_title value: %N
Bad ut_kind value: %K
Bad ut_file value: %F
Bad ut_dir value: %D
Invalid usage: no input
Abort (?_?)
C:\Users\olero>
I can't really add much that isn't already explained in the manual.rednoah wrote: ↑01 Aug 2012, 13:04 Troubleshooting
If something is not working, first read the Notes above, then just run the command manually in a new console window and see what happens. You CANNOT run the command without replacing the VARIABLES. The variables have to be replaced with actual values first. You can find the actual cmdline call in the µTorrents Logger tab so you can just copy it from there. You may need to enable the Logger tab first (just right-click one of the other tabs like Info).
File does not exist: C:\%Dstate=%S ut_title=%N ut_kind=%K ut_file=%F ut_dir=%Drednoah wrote: ↑23 Nov 2020, 10:35I can't really add much that isn't already explained in the manual.rednoah wrote: ↑01 Aug 2012, 13:04 Troubleshooting
If something is not working, first read the Notes above, then just run the command manually in a new console window and see what happens. You CANNOT run the command without replacing the VARIABLES. The variables have to be replaced with actual values first. You can find the actual cmdline call in the µTorrents Logger tab so you can just copy it from there. You may need to enable the Logger tab first (just right-click one of the other tabs like Info).
The first step is checking if filebot is called at all, and then the second step is checking the log produces by the filebot call:
viewtopic.php?t=3067
If you copy & paste the command template into CMD then you must also take care of replacing the %variables with values, just like uT does.
I have gone through the instructions. I have a very simple and common setup on a brand new machine so not much to tweak..rednoah wrote: ↑23 Nov 2020, 10:35I can't really add much that isn't already explained in the manual.rednoah wrote: ↑01 Aug 2012, 13:04 Troubleshooting
If something is not working, first read the Notes above, then just run the command manually in a new console window and see what happens. You CANNOT run the command without replacing the VARIABLES. The variables have to be replaced with actual values first. You can find the actual cmdline call in the µTorrents Logger tab so you can just copy it from there. You may need to enable the Logger tab first (just right-click one of the other tabs like Info).
The first step is checking if filebot is called at all, and then the second step is checking the log produces by the filebot call:
viewtopic.php?t=3067
If you copy & paste the command template into CMD then you must also take care of replacing the %variables with values, just like uT does.
rednoah wrote: ↑01 Aug 2012, 13:04 It's always helpful to check the exact command utorrent ends up executing in the Logger tab. It'll look something like this:Code: Select all
[2013-03-05 20:44:24] Executing: filebot -script fn:amc --output "D:/Organized Media" --log-file amc.log --action duplicate --conflict override -non-strict --def "ut_dir=D:\Media\Avatar" "ut_file=" "ut_kind=multi" "ut_title=Avatar" "ut_label=" "ut_state=5"
My groovy format file now uses the raw value like this, and I always manually check the result as inbuilt checks are bypassed:Top-level bindings such as {t} strip / slash implicitly, among other sanitation operations. However, you can use {episode.title} to access the raw value, which may contain / slash, may be infinitely long, etc.
Code: Select all
{sxe} {episode.title.replace(
'<' : '﹤',
'>' : '﹥',
':' : 'ː',
'"' : '“',
'/' : '⁄',
'|' : '⼁',
'?' : '?',
'*' : '﹡',
'\\': '∖'
)}
Code: Select all
ut_label=Movies
movieFormat={hd.replaceAll("UHD", replacement = "B:/2160P").replaceAll("SD", replacement = "H:/DVDRIPS").replaceAll("HD", replacement = vf.replaceAll("720p", replacement = "B:/720P").replaceAll("1080p", replacement = "S:/1080P"))} {hdr}/{collection.ascii()}/{ny.ascii().upperInitial()} [{imdbid}]/{ny.ascii().upperInitial()} [{imdbid}] {if (hd =~ /HD/) vf} {hdr}
seriesFormat="E:/TV Shows/{n}/{n}.{s00e00}.{t}"
animeFormat="E:/Anime/{n}/{n}.{s00e00}.{t}"
Code: Select all
ut_label=Movies
movieFormat={hd.replaceAll("UHD", replacement = "B:/2160P").replaceAll("SD", replacement = "H:/DVDRIPS").replaceAll("HD", replacement = vf.replaceAll("720p", replacement = "B:/720P").replaceAll("1080p", {any{collection}.replaceall{"S:/Sagas - 1080P"}{"I:/1080P"}}))} {hdr}/{collection.ascii()}/{ny.ascii().upperInitial()} [{imdbid}]/{ny.ascii().upperInitial()} [{imdbid}] {if (hd =~ /HD/) vf} {hdr}
seriesFormat="E:/TV Shows/{n}/{n}.{s00e00}.{t}"
animeFormat="E:/Anime/{n}/{n}.{s00e00}.{t}"
Code: Select all
{ def pathList = ['SD' : 'H:/DVDRIPS','HD720p' : 'B:/720p','HD1080ptrue' : 'B:/1080p - Sagas','HD1080pfalse' : 'B:/1080p','UHD2160p' : 'B:/2160P']; any{pathList.get(hd)}{pathList.get(hd + vf)}{pathList.get(hd + vf + any{collection ? true : true}{false})}{'UNKNOWN_PATH'}} {hdr}/{collection.ascii()}/{ny.ascii().upperInitial()}{' ['+imdbid +']'}/{ny.ascii().upperInitial()}{' ['+imdbid +']'} {if (hd =~ /HD/) vf} {hdr}
Code: Select all
filebot -script fn:artwork.tmdb FILE_DIR
Code: Select all
i.spokenLanguages.each{
languages(it)
}
Code: Select all
include('lib/htpc')
Looks great. Please let me know how to show folders under some category, (ex. first image). is it a separate magic app or just windows file explorerAbedlaPaille wrote: ↑11 Jun 2020, 21:12
I'm nearly done with my OCD
Films is the main one, it's a close relative to plex but with multi entry collection folders and no 'The' prefix. That's how i browse my full library in explorer.
Plex is where things are tidy.
Collections and Studios use a --filter. The All folder in Collections is for single entry collections.
Directors, Genres, Bitrate, Resolution, Size, Ratings, Language, Year have no filter, they're just different sorting orders with different schemes.
For example Language/Other looks like this
I use year first in several ones, like Directors, Studios, Year
If you want to know more just ask![]()
Code: Select all
filebot -script fn:amc --output "/path/to/output" --action duplicate -non-strict "/path/to/input" --log-file amc.log --def excludeList=amc.txt
The amc script already has an option for that, so you can just add it to your command-line:
Code: Select all
--def subtitles=en