Skip to content

Commit fbc313b

Browse files
committed
Catch invalid automation
1 parent c761ed8 commit fbc313b

1 file changed

Lines changed: 11 additions & 2 deletions

File tree

src/_data/depctrl.js

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,24 @@ const limitedWebRequest = async (url, type) => {
1919
const checkFileIntegrity = async (feeds) => {
2020
for (var feed of feeds) {
2121
var feedHashesValid = true;
22-
for (var automation of Object.values({ ...feed.macros, ...feed.modules })) {
22+
feed.macros = feed.macros || {};
23+
feed.modules = feed.modules || {};
24+
for (var [automationID, automation] of Object.entries({ ...feed.macros, ...feed.modules })) {
2325
var automationHashesValid = true;
26+
if (automation.channels === undefined) {
27+
console.error("No channels found for automation " + automationID + " in feed " + feed["_sourceUrl"]);
28+
delete feed.macros[automationID];
29+
delete feed.modules[automationID];
30+
feed["_defective"] = "Invalid automation present";
31+
continue;
32+
}
2433
for (var channel of Object.values(automation.channels)) {
2534
for (var file of channel.files) {
2635
if (!file.delete) {
2736
await limitedWebRequest(file.url, "buffer")
2837
.then((fileResponse) => crypto.createHash('sha1').update(fileResponse).digest('hex'))
2938
.catch((error) => {
30-
console.log(error);
39+
console.error(error);
3140
return "";
3241
})
3342
.then((fileHash) => {

0 commit comments

Comments
 (0)