Make feature errors per post/thread, as they're supposed to be.

This commit is contained in:
Zixaphir 2015-01-12 21:25:53 -07:00
parent a03e6d7e15
commit b5fd8738b4
3 changed files with 41 additions and 37 deletions

View File

@ -3141,26 +3141,27 @@
};
Callbacks.prototype.execute = function(nodes) {
var err, errors, name, node, _i, _j, _len, _len1, _ref;
var err, errors, feature, name, node, _i, _j, _len, _len1, _ref;
_ref = this.keys;
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
name = _ref[_i];
try {
for (_j = 0, _len1 = nodes.length; _j < _len1; _j++) {
node = nodes[_j];
if (!this[name].disconnected) {
this[name].call(node);
feature = this[name];
for (_j = 0, _len1 = nodes.length; _j < _len1; _j++) {
node = nodes[_j];
if (!feature.disconnected) {
try {
feature.call(node);
} catch (_error) {
err = _error;
if (!errors) {
errors = [];
}
errors.push({
message: ['"', name, '" crashed on node ', this.type, ' No.', node.ID, ' (', node.board, ').'].join(''),
error: err
});
}
}
} catch (_error) {
err = _error;
if (!errors) {
errors = [];
}
errors.push({
message: ['"', name, '" crashed on node ', this.type, ' No.', node.ID, ' (', node.board, ').'].join(''),
error: err
});
}
}
if (errors) {

View File

@ -3167,26 +3167,27 @@
};
Callbacks.prototype.execute = function(nodes) {
var err, errors, name, node, _i, _j, _len, _len1, _ref;
var err, errors, feature, name, node, _i, _j, _len, _len1, _ref;
_ref = this.keys;
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
name = _ref[_i];
try {
for (_j = 0, _len1 = nodes.length; _j < _len1; _j++) {
node = nodes[_j];
if (!this[name].disconnected) {
this[name].call(node);
feature = this[name];
for (_j = 0, _len1 = nodes.length; _j < _len1; _j++) {
node = nodes[_j];
if (!feature.disconnected) {
try {
feature.call(node);
} catch (_error) {
err = _error;
if (!errors) {
errors = [];
}
errors.push({
message: ['"', name, '" crashed on node ', this.type, ' No.', node.ID, ' (', node.board, ').'].join(''),
error: err
});
}
}
} catch (_error) {
err = _error;
if (!errors) {
errors = [];
}
errors.push({
message: ['"', name, '" crashed on node ', this.type, ' No.', node.ID, ' (', node.board, ').'].join(''),
error: err
});
}
}
if (errors) {

View File

@ -12,12 +12,14 @@ class Callbacks
execute: (nodes) ->
for name in @keys
try
@[name].call node for node in nodes when not @[name].disconnected
catch err
errors = [] unless errors
errors.push
message: ['"', name, '" crashed on node ', @type, ' No.', node.ID, ' (', node.board, ').'].join('')
error: err
feature = @[name]
for node in nodes when not feature.disconnected
try
feature.call node
catch err
errors = [] unless errors
errors.push
message: ['"', name, '" crashed on node ', @type, ' No.', node.ID, ' (', node.board, ').'].join('')
error: err
Main.handleErrors errors if errors