Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
var args = argparse.argv;
// {{{ fixedFromCharCode(codePoint)
// https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/fromCharCode
function fixedFromCharCode (codePt) {
if (codePt > 0xFFFF) {
codePt -= 0x10000;
return String.fromCharCode(0xD800 + (codePt >> 10), 0xDC00 + (codePt & 0x3FF));
} else {
return String.fromCharCode(codePt);
}
}
// }}}
// Parse XML
var parser = new expat.Parser("UTF-8"),
output = args.output ? fs.createWriteStream(args.output) : process.stdout,
input = args.input ? fs.createReadStream(args.input) : process.stdin,
jsonStream = JSONStream.stringifyObject("{", ",\n", "}\n");
jsonStream.pipe(output);
// Parse!
var currentChar = {};
parser.on('startElement', function (name, attrs) {
if (name === 'char' && attrs.cp) {
currentChar = {
code: parseInt(attrs.cp, 16), // Codepoint
name: attrs.na.toLowerCase(), // Name
block: attrs.blk.toLowerCase(), // Block
}
} else if (name === 'name-alias') {
function OSMStream(options) {
if (!(this instanceof OSMStream)) return new OSMStream(options);
Transform.call(this, options);
var primaryElements = ['node', 'way', 'relation']; // emit-ables
var subElementName = ['tag', 'nd', 'member'];
// size of bytes read from source so far
this.bytesRead = 0;
// size of bytes written to stream so far
this.bytesWritten = 0;
// initialize parser and its event handlers
this._parser = new expat.Parser();
this._parser.on('pipe', (function onParserPipe(src) {
logger('_parser received pipe from ', src.path || '');
}).bind(this));
this._parser.on('startElement', (function onParserStartElement(name, attrs) {
var funcname = ['__parse_', name].join('');
if ((primaryElements.indexOf(name) > -1 && (OSMStream.prototype[funcname])) ||
(subElementName.indexOf(name) > -1 && this._currentElement !== null && (OSMStream.prototype[funcname]))) {
OSMStream.prototype[funcname].call(this, attrs);
}
}).bind(this));
this._parser.on('endElement', (function onParserEndElement(name) {
if ((primaryElements.indexOf(name) < 0)) return;
* Parses rdf to json using node-expat.
* @param {String|Buffer} xml The xml to be parsed to json.
* @param {Object} _options An object with options provided by the user.
* The available options are:
* - object: If true, the parser returns a Javascript object instead of
* a JSON string.
* - reversible: If true, the parser generates a reversible JSON, mainly
* characterized by the presence of the property $.
* - sanitize_values: If true, the parser escapes any element value in the xml
* that has any of the following characters: <, >, (, ), #, #, &, ", '.
*
* @return {String|Object} A String or an Object with the JSON representation
* of the XML.
*/
var parser = new expat.Parser('UTF-8');
parser.on('startElement', start);
parser.on('text', text);
parser.on('endElement', end);
obj = cur = {};
ancestors = [];
curName = null;
//configuration options
options = _options;
if (!parser.parse(xml)) throw new Error('There are errors in your xml file: ' + parser.getError());
// TODO - delete this lines, just for DEBUG ! -->
var fs = require('fs');
var args = argparse.argv;
// {{{ fixedFromCharCode(codePoint)
// https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/fromCharCode
function fixedFromCharCode (codePt) {
if (codePt > 0xFFFF) {
codePt -= 0x10000;
return String.fromCharCode(0xD800 + (codePt >> 10), 0xDC00 + (codePt & 0x3FF));
} else {
return String.fromCharCode(codePt);
}
}
// }}}
// Parse XML
var parser = new expat.Parser("UTF-8"),
output = args.output ? fs.createWriteStream(args.output) : process.stdout,
input = args.input ? fs.createReadStream(args.input) : process.stdin,
jsonStream = JSONStream.stringifyObject("{", ",\n", "}\n");
jsonStream.pipe(output);
// Parse!
var currentChar = {},
currentText = "";
parser.on('startElement', function (name, attrs) {
if (name === 'character' && attrs.dec && attrs.dec.match(/^\d+$/)) {
currentChar = {
code: parseInt(attrs.dec, 10), // Codepoint
//name: attrs.na.toLowerCase(), // Name
//block: attrs.blk.toLowerCase(), // Block
}
function ExpatParser() {
var parser = new expat.Parser();
this.parse = function(s) {
parser.parse(s, false);
};
}
function next() {
//Add padding
var stateStr = that.state.toString().split('').reverse();
var diff = 9 - stateStr.length;
for (var i=0; i < diff; i++) { stateStr.push('0'); }
stateStr = stateStr.join('');
//Create URL
var url = '';
for (i=0; i<(stateStr.length/3); i++) {
url += stateStr[i*3] + stateStr[i*3 + 1] + stateStr[i*3 + 2] + '/';
}
//XML Parser
var xmlParser = new expat.Parser('UTF-8');
xmlParser.on('startElement', parserStart);
xmlParser.on('endElement', parserEnd);
//Get YAML state file
request.get('http://planet.osm.org/replication/changesets/state.yaml',
function(err, response, body) {
var nodata = true;
//If YAML state is bigger, we can get a new file
if (Number(body.substr(body.length - 8)) >= that.state) {
var ss = request.get(that.baseURL + url.split('').reverse().join('') + '.osm.gz')
.pipe(zlib.createUnzip())
.on('data', function(data) {
nodata = (data.length === 0) && nodata;
})
.on('end', function() {
if (nodata) {
function getVmobj(zonename, callback)
{
var filename = '/etc/zones/' + zonename + '.xml';
var parser = new expat.Parser('UTF-8');
fs.readFile(filename, function (error, data) {
var state = {};
var se, ee;
if (error) {
return (error);
}
parser.on('startElement', function (name, attrs) {
return startElement(name, attrs, state);
});
parser.on('endElement', function(name) {
return endElement(name, state);
});
load_component: function (href) {
href = url.resolve(this.cwd, href);
if (this.urls[href]) {
return this.urls[href];
}
var promise = this.urls[href] = new flexo.Promise();
var protocol = url.parse(href).protocol;
var parser = new expat.Parser("UTF-8");
parser.on("startElement", start_element);
parser.on("endElement", end_element);
parser.on("text", text);
var parse = function (data) {
parser.__stack = [];
parser.__nsmap = { "": "" };
parser.__promise = promise;
parser.__environment = this;
parser.__uri = href;
parser.write(data);
}.bind(this);
if (protocol === "http:") {
http.get(href, function (response) {
var data = "";
response.on("data", function (chunk) {
data += chunk.toString();
function BoshRequestParser() {
this._parser = new expat.Parser('UTF-8');
this.init_state_();
}
function AugmentedDiffParser (xmlData) {
var xmlParser = new expat.Parser('UTF-8');
var currentAction = '';
var currentElement = {};
var oldElement = {};
var currentMode = '';
var changesetMap = {};
return K.stream(function (emitter) {
function isElement (symbol) {
return (symbol === 'node' || symbol === 'way' || symbol === 'relation');
}
function endTag (symbol, attrs) {
if (symbol === 'action') {
var changeset = currentElement.changeset;
if (changesetMap[changeset]) {
changesetMap[changeset].push(currentElement);