A null collection folder is created when there is no collection

Any questions? Need some help?
Post Reply
Amishman
Donor
Posts: 56
Joined: 29 Dec 2013, 15:54

A null collection folder is created when there is no collection

Post by Amishman »

I'm not sure what changed. This used to work correctly.

When a movie has a collection this works properly.

C:\Movies\Anchorman Collection\Anchorman The Legend of Ron Burgundy (2004) [1080p] [x265]\Anchorman The Legend of Ron Burgundy (2004).mkv

When there is no collection, it creates a null collection folder.

C:\Movies\null\Major Payne (1995) [720p] [x264]\Major Payne (1995).mkv

Here is my script:

Code: Select all

filebot.launcher.exe -script fn:amc  --output H:/ --log-file amc.log --action move --conflict auto -non-strict --def "seriesFormat={['D:', 'E:', 'F:', 'G:', 'H:', 'I:', 'J:', 'K:', 'L:', 'M:', 'N:', 'O:', 'P:'].collect{ drive -> def a=n; return new File(drive+\"/TV/\", a)}.sort{ a,b -> a.exists() <=> b.exists() ?: a.diskSpace <=> b.diskSpace }.last()}/{episode.special ? 'Specials' : 'Season '+s}/{s00e00} {t}" "movieFormat={['D:', 'E:', 'F:', 'G:', 'H:', 'I:', 'J:', 'K:', 'L:', 'M:', 'N:', 'O:', 'P:'].collect{ new File(it+'/Movies/'+any{collection+'/'}{''}) }.sort{ a,b -> a.exists() <=> b.exists() ?: a.diskSpace <=> b.diskSpace }.last()}/{n.replaceFirst(/^(?i)(The|A|An)\s(.+)/, /$2, $1/)} {fn.contains('3d') || fn.contains('3D') || fn.contains('3-D') ? ' '+'3D':\"\"}{' (' + fn.matchAll(/extended|uncensored|remastered|unrated|uncut|directors.cut|special.edition/)*.upperInitial()*.lowerTrail().sort().join(', ').replaceAll(/[._]/, \" \") + ')'} ({y}) {\"[$vf]\"} {\"[$vc]\"}/{n} {fn.contains('3d') || fn.contains('3D') || fn.contains('3-D') ? ' '+'3D':\"\"}{' (' + fn.matchAll(/extended|uncensored|remastered|unrated|uncut|directors.cut|special.edition/)*.upperInitial()*.lowerTrail().sort().join(', ').replaceAll(/[._]/, \" \") + ')'} ({y})" "musicFormat=Music/{n}/{\$album/}{\${pi.pad(2)}. } {t}" --def deleteAfterExtract=y --def clean=y "ut_label=%L" "ut_state=%S" "ut_title=%N" "ut_kind=%K" "ut_file=%F" "ut_dir=%D"
Here is my log from a movie.
Run script [fn:amc] at [Wed Jul 22 00:12:32 EDT 2020]
Parameter: seriesFormat = {['D:', 'E:', 'F:', 'G:', 'H:', 'I:', 'J:', 'K:', 'L:', 'M:', 'N:', 'O:', 'P:'].collect{ drive -> def a=n; return new File(drive+"/TV/", a)}.sort{ a,b -> a.exists() <=> b.exists() ?: a.diskSpace <=> b.diskSpace }.last()}/{episode.special ? 'Specials' : 'Season '+s}/{s00e00} {t}
Parameter: movieFormat = {['D:', 'E:', 'F:', 'G:', 'H:', 'I:', 'J:', 'K:', 'L:', 'M:', 'N:', 'O:', 'P:'].collect{ new File(it+'/Movies/'+any{collection+'/'}{''}) }.sort{ a,b -> a.exists() <=> b.exists() ?: a.diskSpace <=> b.diskSpace }.last()}/{n.replaceFirst(/^(?i)(The|A|An)\s(.+)/, /$2, $1/)} {fn.contains('3d') || fn.contains('3D') || fn.contains('3-D') ? ' '+'3D':""}{' (' + fn.matchAll(/extended|uncensored|remastered|unrated|uncut|directors.cut|special.edition/)*.upperInitial()*.lowerTrail().sort().join(', ').replaceAll(/[._]/, " ") + ')'} ({y}) {"[$vf]"} {"[$vc]"}/{n} {fn.contains('3d') || fn.contains('3D') || fn.contains('3-D') ? ' '+'3D':""}{' (' + fn.matchAll(/extended|uncensored|remastered|unrated|uncut|directors.cut|special.edition/)*.upperInitial()*.lowerTrail().sort().join(', ').replaceAll(/[._]/, " ") + ')'} ({y})
Parameter: musicFormat = Music/{n}/{\$album/}{\${pi.pad(2)}. } {t}
Parameter: deleteAfterExtract = y
Parameter: clean = y
Parameter: plex = *****
Parameter: pushbullet = *****
Parameter: ut_label =
Parameter: ut_state = 5
Parameter: ut_title = Enter.The.Dragon.1973.1080p.BluRay.x264.DTS-FGT
Parameter: ut_kind = multi
Parameter: ut_file = Enter.The.Dragon.1973.1080p.BluRay.x264.DTS-FGT.mkv
Parameter: ut_dir = C:\_Downloaded uTorrent Files\Enter.The.Dragon.1973.1080p.BluRay.x264.DTS-FGT
Input: C:\_Downloaded uTorrent Files\Enter.The.Dragon.1973.1080p.BluRay.x264.DTS-FGT\Enter.The.Dragon.1973.1080p.BluRay.x264.DTS-FGT.mkv
Group: {Movie=Enter the Dragon (1973)} => [Enter.The.Dragon.1973.1080p.BluRay.x264.DTS-FGT.mkv]
Rename movies using [TheMovieDB]
Auto-detect movie from context [C:\_Downloaded uTorrent Files\Enter.The.Dragon.1973.1080p.BluRay.x264.DTS-FGT\Enter.The.Dragon.1973.1080p.BluRay.x264.DTS-FGT.mkv]
[MOVE] from [C:\_Downloaded uTorrent Files\Enter.The.Dragon.1973.1080p.BluRay.x264.DTS-FGT\Enter.The.Dragon.1973.1080p.BluRay.x264.DTS-FGT.mkv] to [L:\Movies\null\Enter the Dragon (1973) [1080p] [x264]\Enter the Dragon (1973).mkv]
Processed 1 files
Notify Plex: [host:192.168.***.***, token:*****************]
GET: http://192.168.***.***:32400/library/sections/all/refresh?X-Plex-Token=*******************
HttpNetworkError: Connect timed out: Unable to connect to 192.168.***.*** at this time. Please try again later.
Sending PushBullet report
SSLHandshakeException: Remote host terminated the handshake
Clean clutter files and empty folders
Delete C:\_Downloaded uTorrent Files\Enter.The.Dragon.1973.1080p.BluRay.x264.DTS-FGT\RARBG.txt
Delete C:\_Downloaded uTorrent Files\Enter.The.Dragon.1973.1080p.BluRay.x264.DTS-FGT
Done ヾ(@⌒ー⌒@)ノ
Filebot -version: FileBot 4.9.1 (r7372) / OpenJDK Runtime Environment 14 / Windows 7 6.1 (amd64)

Any ideas how to fix it?
User avatar
rednoah
The Source
Posts: 22923
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: A null collection folder is created when there is no collection

Post by rednoah »

Which specific part of your format is unexpectedly emitting null as String value?


EDIT:

Note that any(Closure...) works based on Groovy truth, not null values, so empty Strings, empty Lists, etc are equally discarded, leaving no result, i.e. null as a result:

Code: Select all

any{null}{[]}{''}
# Result: null
e.g.

Code: Select all

['O:', 'P:'].collect{ it / any{'Movies' / collection}{'Movies'} }


:idea: Use the @file syntax for reading command-line arguments from external text files.
:idea: Please read the FAQ and How to Request Help.
kim
Power User
Posts: 1251
Joined: 15 May 2014, 16:17

Re: A null collection folder is created when there is no collection

Post by kim »

quick fix: change to

Code: Select all

new File(it+'/Movies/'+any{collection+'/'}{'/'})
or

Code: Select all

new File(it + any{'/Movies/' + collection}{'/Movies'})
Amishman
Donor
Posts: 56
Joined: 29 Dec 2013, 15:54

Re: A null collection folder is created when there is no collection

Post by Amishman »

Sorry, I should have been more clear.

If there is a collection, then it should look like this.
C:\Movies\Anchorman Collection\Anchorman The Legend of Ron Burgundy (2004) [1080p] [x265]\Anchorman The Legend of Ron Burgundy (2004).mkv
If there is no collection, then it should look like this.
C:\Movies\Anchorman The Legend of Ron Burgundy (2004) [1080p] [x265]\Anchorman The Legend of Ron Burgundy (2004).mkv

Code: Select all

['O:', 'P:'].collect{ it / any{'Movies' / collection}{'Movies'} }
When I tried this code, it created a new "IMovies" folder and 2 other folders. One for the movie and 1 for a subtitle.
H:\IMovies\Greyhound (2020)\Greyhound (2020).srt
H:\IMovies\Greyhound (2020) [480p] [x264]
There were a lot of subtitles in this one so I deleted most of the subtitles from the log.
Run script [fn:amc] at [Wed Jul 22 18:03:02 EDT 2020]
Parameter: seriesFormat = {['D:', 'E:', 'F:', 'G:', 'H:', 'I:', 'J:', 'K:', 'L:', 'M:', 'N:', 'O:', 'P:'].collect{ drive -> def a=n; return new File(drive+"/TV/", a)}.sort{ a,b -> a.exists() <=> b.exists() ?: a.diskSpace <=> b.diskSpace }.last()}/{episode.special ? 'Specials' : 'Season '+s}/{s00e00} {t}
Parameter: movieFormat = {['D:', 'E:', 'F:', 'G:', 'H:', 'I:', 'J:', 'K:', 'L:', 'M:', 'N:', 'O:', 'P:'].collect{ it / any{'Movies' / collection}{'Movies'} }.sort{ a,b -> a.exists() <=> b.exists() ?: a.diskSpace <=> b.diskSpace }.last()}/{n.replaceFirst(/^(?i)(The|A|An)\s(.+)/, /$2, $1/)} {' (' + fn.matchAll(/extended|uncensored|remastered|unrated|uncut|directors.cut|special.edition/)*.upperInitial()*.lowerTrail().sort().join(', ').replaceAll(/[._]/, " ") + ')'} ({y}) {"[$vf]"} {"[$vc]"}/{n} {' (' + fn.matchAll(/extended|uncensored|remastered|unrated|uncut|directors.cut|special.edition/)*.upperInitial()*.lowerTrail().sort().join(', ').replaceAll(/[._]/, " ") + ')'} ({y})
Parameter: musicFormat = Music/{n}/{\$album/}{\${pi.pad(2)}. } {t}
Parameter: deleteAfterExtract = y
Parameter: clean = y
Parameter: plex = *****
Parameter: pushbullet = *****
Parameter: ut_label =
Parameter: ut_state = 5
Parameter: ut_title = Greyhound.2020.PROPER.WEBRip.x264-ION10
Parameter: ut_kind = multi
Parameter: ut_file = Greyhound.2020.PROPER.WEBRip.x264-ION10.mp4
Parameter: ut_dir = C:\_Downloaded uTorrent Files\Greyhound.2020.PROPER.WEBRip.x264-ION10
Input: C:\_Downloaded uTorrent Files\Greyhound.2020.PROPER.WEBRip.x264-ION10\Greyhound.2020.PROPER.WEBRip.x264-ION10.mp4
Input: C:\_Downloaded uTorrent Files\Greyhound.2020.PROPER.WEBRip.x264-ION10\Subs\10_Finnish.srt
Input: C:\_Downloaded uTorrent Files\Greyhound.2020.PROPER.WEBRip.x264-ION10\Subs\7_Danish.srt
Input: C:\_Downloaded uTorrent Files\Greyhound.2020.PROPER.WEBRip.x264-ION10\Subs\8_Dutch.srt
Input: C:\_Downloaded uTorrent Files\Greyhound.2020.PROPER.WEBRip.x264-ION10\Subs\9_Estonian.srt
Group: {Movie=Greyhound (2020)} => [Greyhound.2020.PROPER.WEBRip.x264-ION10.mp4, 10_Finnish.srt, 11_French.srt, 12_French.srt, 13_German.srt, 15_Hebrew.srt, 16_hin.srt, 17_Hungarian.srt, 19_Italian.srt, 20_Japanese.srt, 21_Lithuanian.srt, 22_Latvian.srt, 23_may.srt, 25_Chinese.srt, 26_nor.srt, 27_Polish.srt, 28_Portuguese.srt, 29_Portuguese.srt, 2_English.srt, 30_Russian.srt, 31_Chinese.srt, 32_slo.srt, 33_Slovenian.srt, 34_Spanish.srt, 35_Spanish.srt, 36_Swedish.srt, 37_tam.srt, 38_tel.srt, 39_Thai.srt, 3_English.srt, 40_ukr.srt, 41_Vietnamese.srt, 4_Arabic.srt, 5_Bulgarian.srt, 6_Czech.srt, 7_Danish.srt, 8_Dutch.srt, 9_Estonian.srt]
Group: {Movie=Greyhound (2020), Series=null} => [14_Greek.srt, 18_Indonesian.srt, 24_Chinese.srt]
Rename movies using [TheMovieDB]
Auto-detect movie from context [C:\_Downloaded uTorrent Files\Greyhound.2020.PROPER.WEBRip.x264-ION10\Greyhound.2020.PROPER.WEBRip.x264-ION10.mp4]
Stripping invalid characters from new path: I:Movies/Greyhound (2020) [480p] [x264]/Greyhound (2020)
[MOVE] from [C:\_Downloaded uTorrent Files\Greyhound.2020.PROPER.WEBRip.x264-ION10\Greyhound.2020.PROPER.WEBRip.x264-ION10.mp4] to [H:\IMovies\Greyhound (2020) [480p] [x264]\Greyhound (2020).mp4]
Processed 2 files
Rename movies using [TheMovieDB]
Auto-detect movie from context [C:\_Downloaded uTorrent Files\Greyhound.2020.PROPER.WEBRip.x264-ION10\Subs\14_Greek.srt]
Stripping invalid characters from new path: I:Movies/Greyhound (2020)/Greyhound (2020)
[MOVE] from [C:\_Downloaded uTorrent Files\Greyhound.2020.PROPER.WEBRip.x264-ION10\Subs\14_Greek.srt] to [H:\IMovies\Greyhound (2020)\Greyhound (2020).srt]
Skipped [C:\_Downloaded uTorrent Files\Greyhound.2020.PROPER.WEBRip.x264-ION10\Subs\18_Indonesian.srt] because [H:\IMovies\Greyhound (2020)\Greyhound (2020).srt] already exists
Skipped [C:\_Downloaded uTorrent Files\Greyhound.2020.PROPER.WEBRip.x264-ION10\Subs\24_Chinese.srt] because [H:\IMovies\Greyhound (2020)\Greyhound (2020).srt] already exists
Processed 1 files
Notify Plex: [host:192.168.******, token:**********************
GET: http://192.168.***.***:32400/library/sections/all/refresh?X-Plex-Token=******************************
HttpNetworkError: Connect timed out: Unable to connect to 192.168.****** at this time. Please try again later.
Sending PushBullet report
Clean clutter files and empty folders
Delete C:\_Downloaded uTorrent Files\Greyhound.2020.PROPER.WEBRip.x264-ION10\Subs\2_English.srt
Done ヾ(@⌒ー⌒@)ノ
I also tried the examples that Kim gave.

Each selection of code created 2 folders. One for the movie and 1 for a subtitle.

Code: Select all

new File(it+'/Movies/'+any{collection+'/'}{'/'})
This one created a folder called Downloads (2013) for the subtitle. The movie folder looked fine.
I:\Movies\Downloaded (2013)\Downloaded (2013).srt
I:\Movies\Palm Springs (2020) [480p] [x264]\Palm Springs (2020).mp4
The log for this code.
Run script [fn:amc] at [Wed Jul 22 17:35:32 EDT 2020]
Parameter: seriesFormat = {['D:', 'E:', 'F:', 'G:', 'H:', 'I:', 'J:', 'K:', 'L:', 'M:', 'N:', 'O:', 'P:'].collect{ drive -> def a=n; return new File(drive+"/TV/", a)}.sort{ a,b -> a.exists() <=> b.exists() ?: a.diskSpace <=> b.diskSpace }.last()}/{episode.special ? 'Specials' : 'Season '+s}/{s00e00} {t}
Parameter: movieFormat = {['D:', 'E:', 'F:', 'G:', 'H:', 'I:', 'J:', 'K:', 'L:', 'M:', 'N:', 'O:', 'P:'].collect{ new File(it+'/Movies/'+any{collection+'/'}{'/'}) }.sort{ a,b -> a.exists() <=> b.exists() ?: a.diskSpace <=> b.diskSpace }.last()}/{n.replaceFirst(/^(?i)(The|A|An)\s(.+)/, /$2, $1/)} {' (' + fn.matchAll(/extended|uncensored|remastered|unrated|uncut|directors.cut|special.edition/)*.upperInitial()*.lowerTrail().sort().join(', ').replaceAll(/[._]/, " ") + ')'} ({y}) {"[$vf]"} {"[$vc]"}/{n} {' (' + fn.matchAll(/extended|uncensored|remastered|unrated|uncut|directors.cut|special.edition/)*.upperInitial()*.lowerTrail().sort().join(', ').replaceAll(/[._]/, " ") + ')'} ({y})
Parameter: musicFormat = Music/{n}/{\$album/}{\${pi.pad(2)}. } {t}
Parameter: deleteAfterExtract = y
Parameter: clean = y
Parameter: plex = *****
Parameter: pushbullet = *****
Parameter: ut_label =
Parameter: ut_state = 5
Parameter: ut_title = Palm.Springs.2020.WEBRip.x264-ION10
Parameter: ut_kind = multi
Parameter: ut_file = Palm.Springs.2020.WEBRip.x264-ION10.mp4
Parameter: ut_dir = C:\_Downloaded uTorrent Files\Palm.Springs.2020.WEBRip.x264-ION10
Input: C:\_Downloaded uTorrent Files\Palm.Springs.2020.WEBRip.x264-ION10\Palm.Springs.2020.WEBRip.x264-ION10.mp4
Input: C:\_Downloaded uTorrent Files\Palm.Springs.2020.WEBRip.x264-ION10\Subs\2_English.srt
Input: C:\_Downloaded uTorrent Files\Palm.Springs.2020.WEBRip.x264-ION10\Subs\3_Spanish.srt
Group: {Movie=Palm Springs (2020), Series=null} => [Palm.Springs.2020.WEBRip.x264-ION10.mp4]
Group: {Movie=Downloaded (2013), Series=null} => [2_English.srt, 3_Spanish.srt]
Rename movies using [TheMovieDB]
Auto-detect movie from context [C:\_Downloaded uTorrent Files\Palm.Springs.2020.WEBRip.x264-ION10\Palm.Springs.2020.WEBRip.x264-ION10.mp4]
[MOVE] from [C:\_Downloaded uTorrent Files\Palm.Springs.2020.WEBRip.x264-ION10\Palm.Springs.2020.WEBRip.x264-ION10.mp4] to [I:\Movies\Palm Springs (2020) [480p] [x264]\Palm Springs (2020).mp4]
Processed 1 files
Rename movies using [TheMovieDB]
Auto-detect movie from context [C:\_Downloaded uTorrent Files\Palm.Springs.2020.WEBRip.x264-ION10\Subs\2_English.srt]
Auto-detect movie from context [C:\_Downloaded uTorrent Files\Palm.Springs.2020.WEBRip.x264-ION10\Subs\3_Spanish.srt]
[MOVE] from [C:\_Downloaded uTorrent Files\Palm.Springs.2020.WEBRip.x264-ION10\Subs\2_English.srt] to [I:\Movies\Downloaded (2013)\Downloaded (2013).srt]
[AUTO] Delete [I:\Movies\Downloaded (2013)\Downloaded (2013).srt]
[MOVE] from [C:\_Downloaded uTorrent Files\Palm.Springs.2020.WEBRip.x264-ION10\Subs\3_Spanish.srt] to [I:\Movies\Downloaded (2013)\Downloaded (2013).srt]
Processed 2 files
Notify Plex: [host:192.168.*******, token:**********************
GET: http://192.168.******:32400/library/sections/all/refresh?X-Plex-Token=*************************
HttpNetworkError: Connect timed out: Unable to connect to 192.168.******* at this time. Please try again later.
Sending PushBullet report
Clean clutter files and empty folders
Done ヾ(@⌒ー⌒@)ノ

Code: Select all

new File(it + any{'/Movies/' + collection}{'/Movies'})
This code created the following folders.
I:\Movies\Greyhound (2020)\Greyhound (2020).srt
I:\Movies\Greyhound (2020) [480p] [x264]\Greyhound (2020).mp4
Here is the log. I removed a lot of the subtitle information from the log.
Run script [fn:amc] at [Wed Jul 22 17:49:55 EDT 2020]
Parameter: seriesFormat = {['D:', 'E:', 'F:', 'G:', 'H:', 'I:', 'J:', 'K:', 'L:', 'M:', 'N:', 'O:', 'P:'].collect{ drive -> def a=n; return new File(drive+"/TV/", a)}.sort{ a,b -> a.exists() <=> b.exists() ?: a.diskSpace <=> b.diskSpace }.last()}/{episode.special ? 'Specials' : 'Season '+s}/{s00e00} {t}
Parameter: movieFormat = {['D:', 'E:', 'F:', 'G:', 'H:', 'I:', 'J:', 'K:', 'L:', 'M:', 'N:', 'O:', 'P:'].collect{ new File(it + any{'/Movies/' + collection}{'/Movies'}) }.sort{ a,b -> a.exists() <=> b.exists() ?: a.diskSpace <=> b.diskSpace }.last()}/{n.replaceFirst(/^(?i)(The|A|An)\s(.+)/, /$2, $1/)} {' (' + fn.matchAll(/extended|uncensored|remastered|unrated|uncut|directors.cut|special.edition/)*.upperInitial()*.lowerTrail().sort().join(', ').replaceAll(/[._]/, " ") + ')'} ({y}) {"[$vf]"} {"[$vc]"}/{n} {' (' + fn.matchAll(/extended|uncensored|remastered|unrated|uncut|directors.cut|special.edition/)*.upperInitial()*.lowerTrail().sort().join(', ').replaceAll(/[._]/, " ") + ')'} ({y})
Parameter: musicFormat = Music/{n}/{\$album/}{\${pi.pad(2)}. } {t}
Parameter: deleteAfterExtract = y
Parameter: clean = y
Parameter: plex = *****
Parameter: pushbullet = *****
Parameter: ut_label =
Parameter: ut_state = 5
Parameter: ut_title = Greyhound.2020.PROPER.WEBRip.x264-ION10
Parameter: ut_kind = multi
Parameter: ut_file = Greyhound.2020.PROPER.WEBRip.x264-ION10.mp4
Parameter: ut_dir = C:\_Downloaded uTorrent Files\Greyhound.2020.PROPER.WEBRip.x264-ION10
Input: C:\_Downloaded uTorrent Files\Greyhound.2020.PROPER.WEBRip.x264-ION10\Greyhound.2020.PROPER.WEBRip.x264-ION10.mp4
Group: {Movie=Greyhound (2020)} => [Greyhound.2020.PROPER.WEBRip.x264-ION10.mp4, 10_Finnish.srt, 11_French.srt, 12_French.srt, 13_German.srt, 15_Hebrew.srt, 16_hin.srt, 17_Hungarian.srt, 19_Italian.srt, 20_Japanese.srt, 21_Lithuanian.srt, 22_Latvian.srt, 23_may.srt, 25_Chinese.srt, 26_nor.srt, 27_Polish.srt, 28_Portuguese.srt, 29_Portuguese.srt, 2_English.srt, 30_Russian.srt, 31_Chinese.srt, 32_slo.srt, 33_Slovenian.srt, 34_Spanish.srt, 35_Spanish.srt, 36_Swedish.srt, 37_tam.srt, 38_tel.srt, 39_Thai.srt, 3_English.srt, 40_ukr.srt, 41_Vietnamese.srt, 4_Arabic.srt, 5_Bulgarian.srt, 6_Czech.srt, 7_Danish.srt, 8_Dutch.srt, 9_Estonian.srt]
Group: {Movie=Greyhound (2020), Series=null} => [14_Greek.srt, 18_Indonesian.srt, 24_Chinese.srt]
Rename movies using [TheMovieDB]
Auto-detect movie from context [C:\_Downloaded uTorrent Files\Greyhound.2020.PROPER.WEBRip.x264-ION10\Greyhound.2020.PROPER.WEBRip.x264-ION10.mp4]
Auto-detect movie from context [C:\_Downloaded uTorrent Files\Greyhound.2020.PROPER.WEBRip.x264-ION10\Subs\10_Finnish.srt]
Auto-detect movie from context [C:\_Downloaded uTorrent Files\Greyhound.2020.PROPER.WEBRip.x264-ION10\Subs\11_French.srt]
Auto-detect movie from context [C:\_Downloaded uTorrent Files\Greyhound.2020.PROPER.WEBRip.x264-ION10\Subs\12_French.srt]
Auto-detect movie from context [C:\_Downloaded uTorrent Files\Greyhound.2020.PROPER.WEBRip.x264-ION10\Subs\13_German.srt]
[MOVE] from [C:\_Downloaded uTorrent Files\Greyhound.2020.PROPER.WEBRip.x264-ION10\Greyhound.2020.PROPER.WEBRip.x264-ION10.mp4] to [I:\Movies\Greyhound (2020) [480p] [x264]\Greyhound (2020).mp4]
Processed 1 files
Rename movies using [TheMovieDB]
Auto-detect movie from context [C:\_Downloaded uTorrent Files\Greyhound.2020.PROPER.WEBRip.x264-ION10\Subs\14_Greek.srt]
Auto-detect movie from context [C:\_Downloaded uTorrent Files\Greyhound.2020.PROPER.WEBRip.x264-ION10\Subs\18_Indonesian.srt]
Auto-detect movie from context [C:\_Downloaded uTorrent Files\Greyhound.2020.PROPER.WEBRip.x264-ION10\Subs\24_Chinese.srt]
[MOVE] from [C:\_Downloaded uTorrent Files\Greyhound.2020.PROPER.WEBRip.x264-ION10\Subs\14_Greek.srt] to [I:\Movies\Greyhound (2020)\Greyhound (2020).srt]
Processed 1 files
Notify Plex: [host:192.168.******, token:*********************
GET: http://192.168.******:32400/library/sections/all/refresh?X-Plex-Token=*****************
HttpNetworkError: Connect timed out: Unable to connect to 192.168.****** at this time. Please try again later.
Sending PushBullet report
Clean clutter files and empty folders
Done ヾ(@⌒ー⌒@)ノ
User avatar
rednoah
The Source
Posts: 22923
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: A null collection folder is created when there is no collection

Post by rednoah »

1.
This snippet

Code: Select all

['O:', 'P:'].collect{ it / any{'Movies' / collection}{'Movies'} }
will yield either

Code: Select all

O:/Movies
or

Code: Select all

O:/Movies/Avatar Collection
so that specific piece of code presumably works as expected.



2.
If you have other unrelated issues with your format, please first isolate the specific piece of that that doesn't work as expected.


:idea: Individual subtitle files don't have MediaInfo properties such as video codec and video resolution. FileBot may sometimes be able to infer them from nearby video files, but if you process subtitles standalone, then these video properties simply don't exist. Using video properties in the folder path is therefore generally a bad idea.
:idea: Please read the FAQ and How to Request Help.
Post Reply