mirror of
				https://gitlab.com/MrFry/mrfrys-node-server
				synced 2025-04-01 20:24:18 +02:00 
			
		
		
		
	merger.js fixes
This commit is contained in:
		
							
								
								
									
										42
									
								
								merger.js
									
									
									
									
									
								
							
							
						
						
									
										42
									
								
								merger.js
									
									
									
									
									
								
							@@ -140,15 +140,30 @@ function Main() {
 | 
			
		||||
	console.log(params);
 | 
			
		||||
	var dbs = [];
 | 
			
		||||
 | 
			
		||||
	for (var i = 0; i < params.length; i++)
 | 
			
		||||
		dbs.push(ReadData(utils.ReadFile(params[i])).result);
 | 
			
		||||
 | 
			
		||||
	for (var i = 0; i < params.length; i++) {
 | 
			
		||||
		console.log(params[i] + ": ");
 | 
			
		||||
		try {
 | 
			
		||||
			dbs.push(ParseJSONData(utils.ReadFile(params[i])));
 | 
			
		||||
			console.log("JSON data added");
 | 
			
		||||
		} catch (e) {
 | 
			
		||||
			console.log(e);
 | 
			
		||||
			console.log("Trying with old format...");
 | 
			
		||||
			dbs.push(ReadData(utils.ReadFile(params[i])).result);
 | 
			
		||||
		}
 | 
			
		||||
		console.log("---------------------------------");
 | 
			
		||||
	}
 | 
			
		||||
	console.log("Parsed data count: " + dbs.length);
 | 
			
		||||
	console.log("---------------------------------");
 | 
			
		||||
 | 
			
		||||
	console.log("Merging databases...");
 | 
			
		||||
	var db = MergeDatabases(dbs);
 | 
			
		||||
 | 
			
		||||
	console.log("Removing duplicates...");
 | 
			
		||||
	var r = RemoveDuplicates(db);
 | 
			
		||||
 | 
			
		||||
	for (var i = 0; i < r.length; i++) {
 | 
			
		||||
		console.log(r.Subjects[i].Name + ": " + r.Subjects[i].length + " darab kérdés.");
 | 
			
		||||
		console.log(i + ": " + r.Subjects[i].Name + ": " + r.Subjects[i].length + " db");
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	utils.WriteFile(JSON.stringify(r), "newData");
 | 
			
		||||
@@ -159,6 +174,27 @@ function GetParams() {
 | 
			
		||||
	return process.argv.splice(2);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function ParseJSONData(data) {
 | 
			
		||||
	var d = JSON.parse(data);
 | 
			
		||||
	var r = new QuestionDB();
 | 
			
		||||
	var rt = [];
 | 
			
		||||
 | 
			
		||||
	for (var i = 0; i < d.Subjects.length; i++) {
 | 
			
		||||
		let s = new Subject(d.Subjects[i].Name);
 | 
			
		||||
		var j = 0;
 | 
			
		||||
		for (j = 0; j < d.Subjects[i].Questions.length; j++) {
 | 
			
		||||
			var currQ = d.Subjects[i].Questions[j];
 | 
			
		||||
			s.AddQuestion(new Question(currQ.Q, currQ.A, currQ.I));
 | 
			
		||||
		}
 | 
			
		||||
		rt.push({
 | 
			
		||||
			name: d.Subjects[i].Name,
 | 
			
		||||
			count: j
 | 
			
		||||
		});
 | 
			
		||||
		r.AddSubject(s);
 | 
			
		||||
	}
 | 
			
		||||
	return r;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function MergeDatabases(dbs) {
 | 
			
		||||
	var db = new QuestionDB();
 | 
			
		||||
	for (var i = 0; i < dbs.length; i++)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user