mirror of
https://github.com/Maschell/JNUSLib.git
synced 2024-11-25 17:36:55 +01:00
Add warnings when files couldn't be found.
This commit is contained in:
parent
fa3b0df7d2
commit
f0306b8cce
@ -166,6 +166,11 @@ public final class DecryptionService {
|
|||||||
NUSDataProvider dataProvider = getNUSTitle().getDataProvider();
|
NUSDataProvider dataProvider = getNUSTitle().getDataProvider();
|
||||||
|
|
||||||
InputStream in = dataProvider.getInputStreamFromContent(c, fileOffsetBlock);
|
InputStream in = dataProvider.getInputStreamFromContent(c, fileOffsetBlock);
|
||||||
|
if (in == null) {
|
||||||
|
String errormsg = "Failed to open the content " + c.getFilename() + " as input stream.";
|
||||||
|
log.warning(errormsg);
|
||||||
|
throw new FileNotFoundException(errormsg);
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
decryptFSTEntryFromStreams(in, outputStream, fileSize, fileOffset, c);
|
decryptFSTEntryFromStreams(in, outputStream, fileSize, fileOffset, c);
|
||||||
@ -209,6 +214,7 @@ public final class DecryptionService {
|
|||||||
if (content.isHashed()) {
|
if (content.isHashed()) {
|
||||||
NUSDataProvider dataProvider = getNUSTitle().getDataProvider();
|
NUSDataProvider dataProvider = getNUSTitle().getDataProvider();
|
||||||
byte[] h3 = dataProvider.getContentH3Hash(content);
|
byte[] h3 = dataProvider.getContentH3Hash(content);
|
||||||
|
|
||||||
nusdecryption.decryptFileStreamHashed(inputStream, outputStream, size, offset, (short) contentIndex, h3);
|
nusdecryption.decryptFileStreamHashed(inputStream, outputStream, size, offset, (short) contentIndex, h3);
|
||||||
} else {
|
} else {
|
||||||
nusdecryption.decryptFileStream(inputStream, outputStream, size, (short) contentIndex, content.getSHA2Hash(), encryptedFileSize);
|
nusdecryption.decryptFileStream(inputStream, outputStream, size, (short) contentIndex, content.getSHA2Hash(), encryptedFileSize);
|
||||||
|
@ -18,6 +18,7 @@ package de.mas.wiiu.jnus.implementations;
|
|||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
@ -27,7 +28,9 @@ import de.mas.wiiu.jnus.Settings;
|
|||||||
import de.mas.wiiu.jnus.entities.content.Content;
|
import de.mas.wiiu.jnus.entities.content.Content;
|
||||||
import de.mas.wiiu.jnus.utils.StreamUtils;
|
import de.mas.wiiu.jnus.utils.StreamUtils;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
import lombok.extern.java.Log;
|
||||||
|
|
||||||
|
@Log
|
||||||
public final class NUSDataProviderLocal extends NUSDataProvider {
|
public final class NUSDataProviderLocal extends NUSDataProvider {
|
||||||
@Getter private final String localPath;
|
@Getter private final String localPath;
|
||||||
|
|
||||||
@ -44,7 +47,9 @@ public final class NUSDataProviderLocal extends NUSDataProvider {
|
|||||||
public InputStream getInputStreamFromContent(Content content, long offset) throws IOException {
|
public InputStream getInputStreamFromContent(Content content, long offset) throws IOException {
|
||||||
File filepath = new File(getFilePathOnDisk(content));
|
File filepath = new File(getFilePathOnDisk(content));
|
||||||
if (!filepath.exists()) {
|
if (!filepath.exists()) {
|
||||||
return null;
|
String errormsg = "Couldn't open \"" + filepath + "\", file does not exist";
|
||||||
|
log.warning(errormsg);
|
||||||
|
throw new FileNotFoundException(errormsg);
|
||||||
}
|
}
|
||||||
InputStream in = new FileInputStream(filepath);
|
InputStream in = new FileInputStream(filepath);
|
||||||
StreamUtils.skipExactly(in, offset);
|
StreamUtils.skipExactly(in, offset);
|
||||||
@ -56,6 +61,8 @@ public final class NUSDataProviderLocal extends NUSDataProvider {
|
|||||||
String h3Path = getLocalPath() + File.separator + String.format("%08X.h3", content.getID());
|
String h3Path = getLocalPath() + File.separator + String.format("%08X.h3", content.getID());
|
||||||
File h3File = new File(h3Path);
|
File h3File = new File(h3Path);
|
||||||
if (!h3File.exists()) {
|
if (!h3File.exists()) {
|
||||||
|
String errormsg = "Couldn't open \"" + h3Path + "\", file does not exist";
|
||||||
|
log.warning(errormsg);
|
||||||
return new byte[0];
|
return new byte[0];
|
||||||
}
|
}
|
||||||
return Files.readAllBytes(h3File.toPath());
|
return Files.readAllBytes(h3File.toPath());
|
||||||
|
Loading…
Reference in New Issue
Block a user