29 lines
765 B
Groovy
29 lines
765 B
Groovy
// filebot -script fn:replace --action copy --filter "[.]srt$" --def "e=[.](eng|english)" "r=.en"
|
|
|
|
// imports
|
|
import net.sourceforge.filebot.StandardRenameAction
|
|
|
|
// parameters
|
|
def action = StandardRenameAction.forName(_args.action)
|
|
def accept = { f -> _args.filter ? f.path =~ _args.filter : true }
|
|
|
|
// rename
|
|
args.getFiles{ accept(it) }.each{
|
|
if (it.path =~ e) {
|
|
def nfile = new File(it.path.replaceAll(e, r))
|
|
|
|
// override files only when --conflict override is set
|
|
if (!it.equals(nfile)) {
|
|
if (nfile.exists() && _args.conflict == 'override' && action != StandardRenameAction.TEST) {
|
|
nfile.delete() // resolve conflict
|
|
}
|
|
|
|
if (!nfile.exists()) {
|
|
println action.rename(it, nfile)
|
|
} else {
|
|
println "Skipped $nfile"
|
|
}
|
|
}
|
|
}
|
|
}
|