This app provides monitoring and information features for the common freifunk user and the technical stuff of a freifunk community.
Code base is taken from a TUM Practical Course project and added here to see if Freifunk Altdorf can use it.
https://www.freifunk-altdorf.de
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.4 KiB
57 lines
1.4 KiB
// Generated by CoffeeScript 1.3.3 |
|
(function() { |
|
var scan; |
|
|
|
scan = function(string, pattern, callback) { |
|
var match, result; |
|
result = ""; |
|
while (string.length > 0) { |
|
match = string.match(pattern); |
|
if (match) { |
|
result += string.slice(0, match.index); |
|
result += callback(match); |
|
string = string.slice(match.index + match[0].length); |
|
} else { |
|
result += string; |
|
string = ""; |
|
} |
|
} |
|
return result; |
|
}; |
|
|
|
exports.split = function(line) { |
|
var field, words; |
|
if (line == null) { |
|
line = ""; |
|
} |
|
words = []; |
|
field = ""; |
|
scan(line, /\s*(?:([^\s\\\'\"]+)|'((?:[^\'\\]|\\.)*)'|"((?:[^\"\\]|\\.)*)"|(\\.?)|(\S))(\s|$)?/, function(match) { |
|
var dq, escape, garbage, raw, seperator, sq, word; |
|
raw = match[0], word = match[1], sq = match[2], dq = match[3], escape = match[4], garbage = match[5], seperator = match[6]; |
|
if (garbage != null) { |
|
throw new Error("Unmatched quote"); |
|
} |
|
field += word || (sq || dq || escape).replace(/\\(?=.)/, ""); |
|
if (seperator != null) { |
|
words.push(field); |
|
return field = ""; |
|
} |
|
}); |
|
if (field) { |
|
words.push(field); |
|
} |
|
return words; |
|
}; |
|
|
|
exports.escape = function(str) { |
|
if (str == null) { |
|
str = ""; |
|
} |
|
if (str == null) { |
|
return "''"; |
|
} |
|
return str.replace(/([^A-Za-z0-9_\-.,:\/@\n])/g, "\\$1").replace(/\n/g, "'\n'"); |
|
}; |
|
|
|
}).call(this);
|
|
|