diff --git a/source/net/sourceforge/filebot/cli/ScriptShell.java b/source/net/sourceforge/filebot/cli/ScriptShell.java index d59a19eb..993407a2 100644 --- a/source/net/sourceforge/filebot/cli/ScriptShell.java +++ b/source/net/sourceforge/filebot/cli/ScriptShell.java @@ -5,6 +5,7 @@ package net.sourceforge.filebot.cli; import static net.sourceforge.filebot.cli.CLILogging.*; import static net.sourceforge.tuned.FileUtilities.*; +import java.awt.AWTPermission; import java.io.File; import java.io.FileInputStream; import java.io.FilePermission; @@ -153,6 +154,11 @@ class ScriptShell { permissions.add(new FilePermission(new File(System.getProperty("ehcache.disk.store.dir")).getAbsolutePath() + File.separator + "-", "write, delete")); permissions.add(new FilePermission(new File(System.getProperty("java.io.tmpdir")).getAbsolutePath() + File.separator + "-", "write, delete")); + // AWT / Swing permissions + permissions.add(new AWTPermission("accessEventQueue")); + permissions.add(new AWTPermission("toolkitModality")); + permissions.add(new AWTPermission("showWindowWithoutWarningBanner")); + // this is probably a security problem but nevermind permissions.add(new RuntimePermission("accessDeclaredMembers")); permissions.add(new ReflectPermission("suppressAccessChecks")); diff --git a/website/scripts/artwork.tmdb.groovy b/website/scripts/artwork.tmdb.groovy index 76f1855e..a689f6e3 100644 --- a/website/scripts/artwork.tmdb.groovy +++ b/website/scripts/artwork.tmdb.groovy @@ -1,7 +1,7 @@ // filebot -script "http://filebot.sf.net/scripts/artwork.tmdb.groovy" -trust-script /path/to/media/ // EXPERIMENTAL // HERE THERE BE DRAGONS -if (net.sourceforge.filebot.Settings.applicationRevisionNumber < 812) throw new Exception("Application revision too old") +if (net.sourceforge.filebot.Settings.applicationRevisionNumber < 836) throw new Exception("Application revision too old") /* @@ -65,8 +65,17 @@ args.eachMediaFolder { dir -> return null } + // sort by relevance + options = options.sortBySimilarity(query, { it.name }) + // auto-select series - def movie = options.sortBySimilarity(query, { it.name })[0] + def movie = options[0] + + // require user input + if (options.size != 1 && !java.awt.GraphicsEnvironment.headless) { + movie = javax.swing.JOptionPane.showInputDialog(null, "Please select movie:", dir.path, 3, null, options.toArray(), movie); + if (movie == null) return null + } println "$dir => $movie" fetchMovieArtworkAndNfo(dir, movie)