function feedData(context) {
for (var i = 0; i < context.data.length; i++) {
var line = removeWeirdItemPrefix(context.data[i]);
var pairs = line.split(":"),
fieldName = pairs[0],
fieldTypeInfo,
fieldValue = pairs.slice(1).join(":");
if (fieldName.indexOf(";") >= 0 && line.indexOf(";") < line.indexOf(":")) {
var typeInfo = fieldName.split(";");
fieldName = typeInfo[0];
fieldTypeInfo = typeInfo.slice(1).map(function (type) {
var info = type.split("=");
return {
name: info[0].toLowerCase(),
value: info[1].replace(/"(.*)"/, "$1")
};
});
}
fieldName = fieldName.toUpperCase();
var fieldHandler = fieldParsers[fieldName];
if (fieldHandler) {
fieldHandler(
context,
fieldValue,
lookupField(context, fieldName),
fieldTypeInfo
);
} else if (fieldName.substring(0, 2) != "X-") {
context.info("unknown field " + fieldName + " with value " + fieldValue);
}
}
}