ukiyoe.init(function() { require("stack-scraper").cli(function(args, stackScraper) { if (!ukiyoe.models[args.type]) { console.error("Error: Invalid model type:", args.type); process.exit(1); } return { rootDataDir: __dirname + "/data/", scrapersDir: __dirname + "/scrapers/", model: ukiyoe.models[args.type], logModel: ukiyoe.models.scrapelog, postProcessors: require("./processing/" + args.type)( ukiyoe, stackScraper), directories: args.type === "extractedimage" ? { imagesDir: "./images/", thumbsDir: "./thumbs/", scaledDir: "./scaled/" } : {}, romajiName: ukiyoe.romajiName }; }, function(err) { if (err) { console.error(err); } else { console.log("DONE"); } process.exit(0); }); });
ukiyoe.init(function() { ExtractedImage.find().stream() .on("data", function(image) { if (!image.dateCreated) { return; } var date = image.dateCreated; var key = yr.cleanString(date); key = key.replace(/[0-9]/g, "X"); if (!dates[key]) { dates[key] = []; } dates[key].push(date); }) .on("error", function(err) { console.error(err); }) .on("close", function() { var sortedKeys = Object.keys(dates).sort(function(a, b) { return dates[b].length - dates[a].length; }); var outStream = fs.createWriteStream(outputFile); outStream.write("Style\tCount\tExample\n"); sortedKeys.forEach(function(key) { var data = [key, dates[key].length, dates[key][0]].join("\t"); outStream.write(data + "\n"); }); outStream.end(); outStream.on("finish", function() { process.stdout.write("DONE\n"); process.exit(0); }); }); });