1
0
mirror of https://github.com/mitb-archive/filebot synced 2024-08-13 17:03:45 -04:00
filebot/source/net/filebot/cli/ExecutableRenameAction.java

43 lines
886 B
Java

package net.filebot.cli;
import static net.filebot.Execute.*;
import java.io.File;
import net.filebot.RenameAction;
public class ExecutableRenameAction implements RenameAction {
private final String executable;
private final File directory;
public ExecutableRenameAction(String executable, File directory) {
this.executable = executable;
this.directory = directory;
}
@Override
public File rename(File from, File to) throws Exception {
String[] command = { executable, from.getCanonicalPath(), getRelativePath(directory, to) };
system(command, directory);
return to.exists() ? to : null;
}
private String getRelativePath(File dir, File f) {
return dir == null ? f.toString() : dir.toPath().relativize(f.toPath()).toString();
}
@Override
public boolean canRevert() {
return false;
}
@Override
public String toString() {
return executable;
}
}