2011-12-27 18:54:25 +00:00
|
|
|
// filebot -script "http://filebot.sf.net/scripts/rsam.groovy" <options> <folder>
|
2011-11-02 08:26:25 +00:00
|
|
|
|
2011-12-22 19:36:31 +00:00
|
|
|
// EXPERIMENTAL // HERE THERE BE DRAGONS
|
|
|
|
if (net.sourceforge.filebot.Settings.applicationRevisionNumber < 783) throw new Exception("Revision 783+ required")
|
2011-10-30 16:55:32 +00:00
|
|
|
|
2011-12-22 19:36:31 +00:00
|
|
|
|
|
|
|
def isMatch(a, b) { similarity(a, b) > 0.9 }
|
2011-10-30 16:55:32 +00:00
|
|
|
|
|
|
|
/*
|
|
|
|
* Rename anime, tv shows or movies (assuming each folder represents one item)
|
|
|
|
*/
|
|
|
|
args.eachMediaFolder { dir ->
|
2011-11-02 08:26:25 +00:00
|
|
|
def n = dir.name
|
|
|
|
def lang = Locale.ENGLISH
|
2011-10-30 16:55:32 +00:00
|
|
|
|
|
|
|
[ [db:anidb, query:{ anidb.search(n, lang).find{ isMatch(it, n) } }],
|
|
|
|
[db:thetvdb, query:{ thetvdb.search(n, lang).find{ isMatch(it, n) } }],
|
|
|
|
[db:themoviedb, query:{ themoviedb.searchMovie(n, lang).find{ isMatch(it, n) } }]
|
|
|
|
].find {
|
|
|
|
def match = it.query()
|
2011-11-02 08:26:25 +00:00
|
|
|
if (match) { rename(folder:dir, db:it.db.name, query:match.name) }
|
2011-10-30 16:55:32 +00:00
|
|
|
return match
|
|
|
|
}
|
|
|
|
}
|