Donate / Problem

Any questions? Need some help?
Post Reply
Dio
Posts: 14
Joined: 17 May 2016, 13:14

Donate / Problem

Post by Dio »

Hi,

Firstly, Rednoah, just "THANK YOU", you've done such a big and great work ... THANKS, THANKS, and THANKS ! I've just discovered your software last week (if I have found it before ... A lot of wasted time ...).

Secondly, please be indulgent, I have a very poor English, I will do my best to use correct English ... :'(

I've just sent you some money, I can't do more this month, but in a near future I'll send you again some money ... I hope it will be enough to appreciate it ! (Transaction number finishing by 443L). Just for information normally FileBot ask after closing If I want to donate, but today before send the money I've tried to open and close it 10 times, and the question never happen ... I've been in obligation to go on your website ! I don't know if it's a normal thing, but donate button after closing FileBot is very cool !

I'm encountering a problem with FileBot, I'm using a long recipe and when I try to use it, FileBot don't return any error but don't close recipe windows, so I'm using it in tree times, like this :

Code: Select all

{n.upperInitial().replaceTrailingBrackets().replaceAll(/[`´‘’?""“”]/, "'").replaceAll(/[:|]/, " - ").replaceAll(/[?]/, "!").replaceAll(/[*\s]+/, " ").replaceAll(/ Ii/, " II").replaceAll(/ IIi/, " III").replaceAll(/ Iv /, " IV ").replaceAll(/ Vi /, " VI ").replaceAll(/ Vii/, " VII").replaceAll(/ Viii/, " VIII").replaceAll(/ Ix/, " IX").replaceAll(/ Xii/, " XII").replaceAll(/ XIIi/, " XIII").replaceAll(/ Xiv/, " XIV").replaceAll(/ Xv/, " XV").replaceAll(/ Xvi/, " XVI").replaceAll(/ Xvii/, " XVII").replaceAll(/ Xviii/, " XVIII").replaceAll(/ Xix/, " XIX").replaceAll(/ Xx/, " XX").replaceAll(/ Xxx/, " XXX").replaceAll(/1St/, "1st").replaceAll(/2Nd/, "2nd").replaceAll(/3Rd/, "3rd").replaceAll(/4Th/, "4th").replaceAll(/5Th/, "5th").replaceAll(/6Th/, "6th").replaceAll(/7Th/, "7th").replaceAll(/8Th/, "8th").replaceAll(/9Th/, "9th").replaceAll(/0Th/, "0th").replace(':','-').replaceAll(/[?]/,'')} ({info.OriginalName.upperInitial().replaceTrailingBrackets().replaceAll(/[`´‘’?""“”]/, "'").replaceAll(/[:|]/, " - ").replaceAll(/[?]/, "!").replaceAll(/[*\s]+/, " ").replaceAll(/ Ii/, " II").replaceAll(/ IIi/, " III").replaceAll(/ Iv /, " IV ").replaceAll(/ Vi /, " VI ").replaceAll(/ Vii/, " VII").replaceAll(/ Viii/, " VIII").replaceAll(/ Ix/, " IX").replaceAll(/ Xii/, " XII").replaceAll(/ XIIi/, " XIII").replaceAll(/ Xiv/, " XIV").replaceAll(/ Xv/, " XV").replaceAll(/ Xvi/, " XVI").replaceAll(/ Xvii/, " XVII").replaceAll(/ Xviii/, " XVIII").replaceAll(/ Xix/, " XIX").replaceAll(/ Xx/, " XX").replaceAll(/ Xxx/, " XXX").replaceAll(/1St/, "1st").replaceAll(/2Nd/, "2nd").replaceAll(/3Rd/, "3rd").replaceAll(/4Th/, "4th").replaceAll(/5Th/, "5th").replaceAll(/6Th/, "6th").replaceAll(/7Th/, "7th").replaceAll(/8Th/, "8th").replaceAll(/9Th/, "9th").replaceAll(/0Th/, "0th").replace(':','-').replaceAll(/[?]/,'')}){fn.contains(' (VFI)') || fn.contains(' VFI') || fn.contains(' vfi') || fn.contains(' Vfi') || fn.contains('.vfi') || fn.contains('.VFI') || fn.contains('.VFi') || fn.contains('(VFI)') ? ' (VFI)' :""}{fn.contains(' (VFF)') || fn.contains(' VFF') || fn.contains(' vff') || fn.contains('.vff') || fn.contains('.VFF') || fn.contains('(vff)') || fn.contains('(VFF)') || fn.contains('(.VFF)') ? ' (VFF)' :""}{fn.contains(' (TF)') || fn.contains(' TF') || fn.contains(' tf') || fn.contains(' TrueFrench') || fn.contains('TrueFrench') || fn.contains('truefrench') || fn.contains('Truefrench') || fn.contains('(truefrench)') ? ' (TF)' :""}{fn.contains(' (NTF)') || fn.contains(' NTF') || fn.contains(' ntf') || fn.contains(' NonTrueFrench') || fn.contains('NonTrueFrench') || fn.contains('nontruefrench') || fn.contains('Nontruefrench') || fn.contains('(non truefrench)') ? ' (NTF)' :""} ({y}) {fn.contains(' (1080p-HDLight)') || fn.contains(' 1080p-HDLight') || fn.contains('(1080p-HDLight)') ? ' (1080p-HDLight)' :""}{fn.contains(' (1080p)') || fn.contains(' 1080p') || fn.contains('.1080p') || fn.contains('(1080p)') ? ' (1080p)' :""}{fn.contains(' (720p-HDLight)') || fn.contains(' 720p-HDLight') || fn.contains('(720p-HDLight)') ? ' (720p-HDLight)' :""}{fn.contains(' (720p)') || fn.contains(' 720p') || fn.contains('.720p') || fn.contains('.720P') || fn.contains('(720p)') ? ' (720p)' :""}{fn.contains(' (DTS)') || fn.contains(' DTS') || fn.contains('.DTS.') || fn.contains('.dts.') || fn.contains('(DTS.)') ? ' (DTS)' :""}{fn.contains(' (DTS-HD)') || fn.contains(' DTS-HD') || fn.contains('.DTS-HD') || fn.contains('.dts-HD') || fn.contains('.dts-hd') || fn.contains('.dtshd') || fn.contains('(DTS-HD)') ? ' (DTS-HD)' :""}{fn.contains(' (DVDRiP)') || fn.contains(' Dvdrip') || fn.contains(' DVDRiP') || fn.contains('.DVDRiP') || fn.contains('.DVDRIP') || fn.contains('(DVDRiP)') ? ' (DVDRiP)' :""}{fn.contains(' (BDRiP)') || fn.contains(' bdrip') || fn.contains(' BDRiP') || fn.contains(' BRRiP') || fn.contains('(BRRiP)') || fn.contains(' Brrip') || fn.contains('(BDRiP)') ? ' (BDRiP)' :""}{fn.contains(' (WEBRiP)') || fn.contains(' Webrip') || fn.contains(' WEBRiP') || fn.contains(' WEB-RiP') || fn.contains(' WEB-DL') || fn.contains(' WEBDL') || fn.contains(' Web-dl') || fn.contains(' Webdl') || fn.contains('(WEBRiP)') ? ' (WEBRiP)' :""}{fn.contains(' (VOSTFR)') || fn.contains(' VOSTFR') || fn.contains(' vostfr') || fn.contains(' Vostfr') || fn.contains('(VOSTFR)') ? ' (VOST-FR)' :""}{fn.contains(' (VOST)') || fn.contains(' VOST') || fn.contains(' vost') || fn.contains(' Vost') || fn.contains('(VOST)') ? ' (VOST)' :""}{fn.contains(' (VO)') || fn.contains(' VO') || fn.contains(' vo') || fn.contains(' Vo') || fn.contains('(VO)') ? ' (VO)' :""}{fn.contains(' (3D)') || fn.contains(' 3D') || fn.contains(' (3d)') || fn.contains(' 3d') || fn.contains('.3d') || fn.contains('.3D') ? ' (3DTB)' :""}{fn.contains(' (3D-TB)') || fn.contains(' 3D-TB') || fn.contains(' (3dtb)') || fn.contains(' 3d-tb') || fn.contains('.3dtb') || fn.contains('3DTB') || fn.contains('(3DTB)') ? ' (3DTB)' :""}{fn.contains(' (3D-SBS)') || fn.contains(' 3D-SBS') || fn.contains(' (3dsbs)') || fn.contains(' 3d-sbs') || fn.contains('.3dsbs') || fn.contains('3DSBS') || fn.contains('(3DSBS)') ? ' (3DSBS)' :""}{fn.contains(' (3D-HSBS)') || fn.contains(' 3D-HSBS') || fn.contains(' (3dhsbs)') || fn.contains(' 3d-hsbs') || fn.contains('.3dhsbs') || fn.contains('3DHS-BS') || fn.contains('(3DHSBS)') ? ' (3D-HSBS)' :""} ({imdbid})
2 :

Code: Select all

./{n.upperInitial().replaceTrailingBrackets().replaceAll(/[`´‘’?""“”]/, "'").replaceAll(/[:|]/, " - ").replaceAll(/[?]/, "!").replaceAll(/[*\s]+/, " ").replaceAll(/ Ii/, " II").replaceAll(/ IIi/, " III").replaceAll(/ Iv /, " IV ").replaceAll(/ Vi /, " VI ").replaceAll(/ Vii/, " VII").replaceAll(/ Viii/, " VIII").replaceAll(/ Ix/, " IX").replaceAll(/ Xii/, " XII").replaceAll(/ XIIi/, " XIII").replaceAll(/ Xiv/, " XIV").replaceAll(/ Xv/, " XV").replaceAll(/ Xvi/, " XVI").replaceAll(/ Xvii/, " XVII").replaceAll(/ Xviii/, " XVIII").replaceAll(/ Xix/, " XIX").replaceAll(/ Xx/, " XX").replaceAll(/ Xxx/, " XXX").replaceAll(/1St/, "1st").replaceAll(/2Nd/, "2nd").replaceAll(/3Rd/, "3rd").replaceAll(/4Th/, "4th").replaceAll(/5Th/, "5th").replaceAll(/6Th/, "6th").replaceAll(/7Th/, "7th").replaceAll(/8Th/, "8th").replaceAll(/9Th/, "9th").replaceAll(/0Th/, "0th").replace(':','-').replaceAll(/[?]/,'')} ({info.OriginalName.upperInitial().replaceTrailingBrackets().replaceAll(/[`´‘’?""“”]/, "'").replaceAll(/[:|]/, " - ").replaceAll(/[?]/, "!").replaceAll(/[*\s]+/, " ").replaceAll(/ Ii/, " II").replaceAll(/ IIi/, " III").replaceAll(/ Iv /, " IV ").replaceAll(/ Vi /, " VI ").replaceAll(/ Vii/, " VII").replaceAll(/ Viii/, " VIII").replaceAll(/ Ix/, " IX").replaceAll(/ Xii/, " XII").replaceAll(/ XIIi/, " XIII").replaceAll(/ Xiv/, " XIV").replaceAll(/ Xv/, " XV").replaceAll(/ Xvi/, " XVI").replaceAll(/ Xvii/, " XVII").replaceAll(/ Xviii/, " XVIII").replaceAll(/ Xix/, " XIX").replaceAll(/ Xx/, " XX").replaceAll(/ Xxx/, " XXX").replaceAll(/1St/, "1st").replaceAll(/2Nd/, "2nd").replaceAll(/3Rd/, "3rd").replaceAll(/4Th/, "4th").replaceAll(/5Th/, "5th").replaceAll(/6Th/, "6th").replaceAll(/7Th/, "7th").replaceAll(/8Th/, "8th").replaceAll(/9Th/, "9th").replaceAll(/0Th/, "0th").replace(':','-').replaceAll(/[?]/,'')}){fn.contains(' (VFI)') || fn.contains(' VFI') || fn.contains(' vfi') || fn.contains(' Vfi') || fn.contains('.vfi') || fn.contains('.VFI') || fn.contains('.VFi') || fn.contains('(VFI)') ? ' (VFI)' :""}{fn.contains(' (VFF)') || fn.contains(' VFF') || fn.contains(' vff') || fn.contains('.vff') || fn.contains('.VFF') || fn.contains('(vff)') || fn.contains('(VFF)') || fn.contains('(.VFF)') ? ' (VFF)' :""}{fn.contains(' (TF)') || fn.contains(' TF') || fn.contains(' tf') || fn.contains(' TrueFrench') || fn.contains('TrueFrench') || fn.contains('truefrench') || fn.contains('Truefrench') || fn.contains('(truefrench)') ? ' (TF)' :""}{fn.contains(' (NTF)') || fn.contains(' NTF') || fn.contains(' ntf') || fn.contains(' NonTrueFrench') || fn.contains('NonTrueFrench') || fn.contains('nontruefrench') || fn.contains('Nontruefrench') || fn.contains('(non truefrench)') ? ' (NTF)' :""} ({y}) {fn.contains(' (1080p-HDLight)') || fn.contains(' 1080p-HDLight') || fn.contains('(1080p-HDLight)') ? ' (1080p-HDLight)' :""}{fn.contains(' (1080p)') || fn.contains(' 1080p') || fn.contains('.1080p') || fn.contains('(1080p)') ? ' (1080p)' :""}{fn.contains(' (720p-HDLight)') || fn.contains(' 720p-HDLight') || fn.contains('(720p-HDLight)') ? ' (720p-HDLight)' :""}{fn.contains(' (720p)') || fn.contains(' 720p') || fn.contains('.720p') || fn.contains('.720P') || fn.contains('(720p)') ? ' (720p)' :""}{fn.contains(' (DTS)') || fn.contains(' DTS') || fn.contains('.DTS.') || fn.contains('.dts.') || fn.contains('(DTS.)') ? ' (DTS)' :""}{fn.contains(' (DTS-HD)') || fn.contains(' DTS-HD') || fn.contains('.DTS-HD') || fn.contains('.dts-HD') || fn.contains('.dts-hd') || fn.contains('.dtshd') || fn.contains('(DTS-HD)') ? ' (DTS-HD)' :""}{fn.contains(' (DVDRiP)') || fn.contains(' Dvdrip') || fn.contains(' DVDRiP') || fn.contains('.DVDRiP') || fn.contains('.DVDRIP') || fn.contains('(DVDRiP)') ? ' (DVDRiP)' :""}{fn.contains(' (BDRiP)') || fn.contains(' bdrip') || fn.contains(' BDRiP') || fn.contains(' BRRiP') || fn.contains('(BRRiP)') || fn.contains(' Brrip') || fn.contains('(BDRiP)') ? ' (BDRiP)' :""}{fn.contains(' (WEBRiP)') || fn.contains(' Webrip') || fn.contains(' WEBRiP') || fn.contains(' WEB-RiP') || fn.contains(' WEB-DL') || fn.contains(' WEBDL') || fn.contains(' Web-dl') || fn.contains(' Webdl') || fn.contains('(WEBRiP)') ? ' (WEBRiP)' :""}{fn.contains(' (VOSTFR)') || fn.contains(' VOSTFR') || fn.contains(' vostfr') || fn.contains(' Vostfr') || fn.contains('(VOSTFR)') ? ' (VOST-FR)' :""}{fn.contains(' (VOST)') || fn.contains(' VOST') || fn.contains(' vost') || fn.contains(' Vost') || fn.contains('(VOST)') ? ' (VOST)' :""}{fn.contains(' (VO)') || fn.contains(' VO') || fn.contains(' vo') || fn.contains(' Vo') || fn.contains('(VO)') ? ' (VO)' :""}{fn.contains(' (3D)') || fn.contains(' 3D') || fn.contains(' (3d)') || fn.contains(' 3d') || fn.contains('.3d') || fn.contains('.3D') ? ' (3DTB)' :""}{fn.contains(' (3D-TB)') || fn.contains(' 3D-TB') || fn.contains(' (3dtb)') || fn.contains(' 3d-tb') || fn.contains('.3dtb') || fn.contains('3DTB') || fn.contains('(3DTB)') ? ' (3DTB)' :""}{fn.contains(' (3D-SBS)') || fn.contains(' 3D-SBS') || fn.contains(' (3dsbs)') || fn.contains(' 3d-sbs') || fn.contains('.3dsbs') || fn.contains('3DSBS') || fn.contains('(3DSBS)') ? ' (3DSBS)' :""}{fn.contains(' (3D-HSBS)') || fn.contains(' 3D-HSBS') || fn.contains(' (3dhsbs)') || fn.contains(' 3d-hsbs') || fn.contains('.3dhsbs') || fn.contains('3DHS-BS') || fn.contains('(3DHSBS)') ? ' (3D-HSBS)' :""}/{fn}
3 :

Code: Select all

./{genres.take(3).join(' - ')}/{fn}
I would like to have this 3 process take in only one, do you have a solution for this ?

And in a second time, I would like to have the third process to be done like this :
If movies have "Horror" or "Horreur" in his genre, then, only for this movie, FileBot create a folder named "Horreur" and put the movie into, for the other movie without this genre, FileBot must let it in the same folder, do you have a solution ?

And as a bonus, I'm looking for ordering the movie by the release date, I want to mean, if the movie was released before 1980 it must be placed in an "Old Movie" folder, is possible ?

Thank you for your help !
User avatar
rednoah
The Source
Posts: 23953
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Donate / Problem

Post by rednoah »

1. & 2.
This is horrible. My eyes are bleeding. Use regular expressions & code. Please.

e.g.

Code: Select all

{n.replaceAll(/(?i) [XVI]+/, { it.upper() })}

3.
So you process everything 3 times? That's stupid. Why would you do that? You know that you can just move files in one single operation right?
http://www.filebot.net/forums/viewtopic.php?f=3&t=7

e.g.

Code: Select all

{home}/Movies/{genre}/{ny}/{ny}

4.
Simple if-then-else is not a problem. You will find many examples here in the forums.
:idea: Please read the FAQ and How to Request Help.
Post Reply