1
0
Fork 0

Add checks to check for unknown files

This commit is contained in:
James 2017-06-11 20:30:44 +10:00
parent dc6f33c51b
commit 1515a008f0
2 changed files with 17 additions and 4 deletions

View File

@ -184,7 +184,7 @@ function validateTOML(path) {
if (field === "vc") { if (field === "vc") {
validateContents(tomlDoc, "vc_system", field => { validateContents(tomlDoc, "vc_system", field => {
if (config.vc-systems.indexOf(field) === -1) { if (config.vc_systems.indexOf(field) === -1) {
validationError(`Could not find VC console \"${field}\"!`); validationError(`Could not find VC console \"${field}\"!`);
} }
}); });
@ -355,13 +355,22 @@ getDirectories(config.directory).forEach(function (game) {
let inputDirectoryGame = `${config.directory}/${game}`; let inputDirectoryGame = `${config.directory}/${game}`;
currentGame = game; currentGame = game;
// Check that everything is lowercase. // Check that everything is lowercase and is a known file.
getFiles(inputDirectoryGame).forEach(file => { getFiles(inputDirectoryGame).forEach(file => {
if (!isValidFilename(file)) { if (config.permitted_files.indexOf(file) === -1) {
validationError(`Unknown file \"${file}\"!`);
} else if (!isValidFilename(file)) {
validationError(`File \"${file}\" contains bad characters!`); validationError(`File \"${file}\" contains bad characters!`);
} }
}); });
// Check that all directories are known.
getDirectories(inputDirectoryGame).forEach(file => {
if (config.permitted_dirs.indexOf(file) === -1) {
validationError(`Unknown directory \"${file}\"!`);
}
});
// Verify the game's boxart. // Verify the game's boxart.
validateImage(`${inputDirectoryGame}/${config.boxart.filename}`, config.boxart); validateImage(`${inputDirectoryGame}/${config.boxart.filename}`, config.boxart);

View File

@ -2,7 +2,11 @@
"directory": "..", "directory": "..",
"regions": ["jpn", "usa", "eur", "aus", "chn", "kor", "twn", "all"], "regions": ["jpn", "usa", "eur", "aus", "chn", "kor", "twn", "all"],
"gametypes": ["vc", "dsi", "eshop"], "gametypes": ["vc", "dsi", "eshop"],
"vc-systems": ["nes", "snes", "gb", "gbc", "gba", "gg"], "vc_systems": ["nes", "snes", "gb", "gbc", "gba", "gg"],
"permitted_files": ["boxart.png", "icon.png", "game.dat"],
"permitted_dirs": ["screenshots", "savefiles"],
"boxart": { "filename": "boxart.png", "sizes": [{"width": 328, "height": 300}, {"width": 500, "height": 300}], "type": "image/png"}, "boxart": { "filename": "boxart.png", "sizes": [{"width": 328, "height": 300}, {"width": 500, "height": 300}], "type": "image/png"},
"icon": { "filename": "icon.png", "sizes": [{"width": 48, "height": 48}], "type": "image/png"}, "icon": { "filename": "icon.png", "sizes": [{"width": 48, "height": 48}], "type": "image/png"},
"screenshots": { "dirname": "screenshots", "sizes": [{"width": 400, "height": 480}], "type": "image/png"}, "screenshots": { "dirname": "screenshots", "sizes": [{"width": 400, "height": 480}], "type": "image/png"},