* added exists() to cached values in FastFile
This commit is contained in:
parent
f4fa49e49b
commit
a41f80bd9d
@ -9,7 +9,7 @@ import java.util.TreeMap;
|
||||
import org.mozilla.javascript.Scriptable;
|
||||
|
||||
|
||||
class AssociativeScriptObject implements Scriptable {
|
||||
public class AssociativeScriptObject implements Scriptable {
|
||||
|
||||
/**
|
||||
* Map allowing look-up of values by a fault-tolerant key as specified by the defining key.
|
||||
|
@ -125,9 +125,7 @@ public class EpisodeFormatBindingBean {
|
||||
|
||||
@Define("crc32")
|
||||
public String getCRC32() throws IOException, InterruptedException {
|
||||
// make sure media file is defined
|
||||
checkMediaFile();
|
||||
|
||||
// use inferred media file (e.g. actual movie file instead of subtitle file)
|
||||
File inferredMediaFile = getInferredMediaFile();
|
||||
|
||||
// try to get checksum from file name
|
||||
@ -201,6 +199,9 @@ public class EpisodeFormatBindingBean {
|
||||
|
||||
@Define("inferredFile")
|
||||
public File getInferredMediaFile() {
|
||||
// make sure media file is defined
|
||||
checkMediaFile();
|
||||
|
||||
if (SUBTITLE_FILES.accept(mediaFile)) {
|
||||
// file is a subtitle
|
||||
String name = FileUtilities.getName(mediaFile);
|
||||
@ -234,6 +235,7 @@ public class EpisodeFormatBindingBean {
|
||||
|
||||
MediaInfo newMediaInfo = new MediaInfo();
|
||||
|
||||
// use inferred media file (e.g. actual movie file instead of subtitle file)
|
||||
if (!newMediaInfo.open(getInferredMediaFile())) {
|
||||
throw new RuntimeException(String.format("Cannot open media file: %s", mediaFile));
|
||||
}
|
||||
|
@ -13,6 +13,7 @@ public class FastFile extends File {
|
||||
private Long length;
|
||||
private Boolean isDirectory;
|
||||
private Boolean isFile;
|
||||
private Boolean exists;
|
||||
|
||||
|
||||
public FastFile(String path) {
|
||||
@ -31,6 +32,12 @@ public class FastFile extends File {
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean exists() {
|
||||
return exists != null ? exists : (exists = super.exists());
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean isDirectory() {
|
||||
return isDirectory != null ? isDirectory : (isDirectory = super.isDirectory());
|
||||
|
Loading…
Reference in New Issue
Block a user