function updateNonGathererSets()
	{
		base.info("Updating non-gatherer sets...");
		C.SETS_NOT_ON_GATHERER.serialForEach(function(setCode, subcb)
		{
			runUtil.run("node", [path.join(__dirname, "..", "build", "createNonGathererSet.js"), setCode], {"redirect-stderr" : false}, subcb);
		}, this);
	},
Exemple #2
0
	process.argv.slice(startAt).forEach(function(arg)
	{
		if(arg==="allsets")
		{
			setsToDo = C.SETS.map(function(SET) { return SET.code; });
		}
		else if(arg==="nongatherersets")
		{
			setsToDo = C.SETS_NOT_ON_GATHERER.slice();
		}
		else if(arg==="mcisets")
		{
			setsToDo = exports.getMCISetCodes();
		}
		else if(arg==="sincelastprintingreset")
		{
			var seenLastPrintingResetSet = false;
			C.SETS.forEach(function(SET)
			{
				if(SET.code===C.LAST_PRINTINGS_RESET)
					seenLastPrintingResetSet = true;
				else if(seenLastPrintingResetSet)
					setsToDo.push(SET.code);
			});
		}
		else if(arg.toLowerCase().startsWith("startat"))
		{
			setsToDo = C.SETS.map(function(SET) { return SET.code; });
			setsToDo = setsToDo.slice(setsToDo.indexOf(arg.substring("startat".length)));
		}
		else if(arg.toLowerCase().startsWith("not"))
		{
			setsNotToDo.push(arg);
			setsNotToDo.push(arg.substring(3));
		}
		else
		{
			setsToDo.push(arg);
		}
	});
Exemple #3
0
"use strict";
/*global setImmediate: true*/

var base = require("xbase"),
	C = require("C"),
	fs = require("fs"),
	path = require("path"),
	shared = require("shared"),
	tiptoe = require("tiptoe"),
	rip = require("./rip.js");

var setsToDo = shared.getSetsToDo();

setsToDo.removeAll(C.SETS_NOT_ON_GATHERER.concat(shared.getMCISetCodes()));

base.info("Doing sets: %s", setsToDo);

setsToDo.serialForEach(function(arg, subcb)
{
	var targetSet = C.SETS.mutateOnce(function(SET) { if(SET.name.toLowerCase()===arg.toLowerCase() || SET.code.toLowerCase()===arg.toLowerCase()) { return SET; } });
	if(!targetSet)
	{
		base.error("Set %s not found!", arg);
		return setImmediate(subcb);
	}

	if(targetSet.isMCISet)
	{
		base.error("Set %s is an MCI set, use importMCISet.js instead.", arg);
		return setImmediate(subcb);
	}
Exemple #4
0
								[].concat(previousSeenSetCodes[card.name][fieldName], [SET.code]).forEach(function(taintedCode)
								{
									if(!C.SETS.filter(function(taintedSet) { return taintedSet.code===taintedCode; })[0].isMCISet && !C.SETS_NOT_ON_GATHERER.contains(taintedCode))
										taintedSetCodes.push(taintedCode);
								});
Exemple #5
0
	diffUtil = require("xutil").diff,
	unicodeUtil = require("xutil").unicode,
	fs = require("fs"),
	path = require("path"),
	dustUtil = require("xutil").dust,
	moment = require("moment"),
	shared = require("shared"),
	tiptoe = require("tiptoe");

var JSONP_PREFIX = "mtgjsoncallback(";
var JSONP_SUFFIX = ");";

var dustData =  {
	title : "Magic the Gathering card data in JSON format",
	sets  : [],
	setCodesNotOnGatherer : C.SETS_NOT_ON_GATHERER.join(", "),
	analytics : "<scr" + "ipt>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','//www.google-analytics.com/analytics.js','ga');ga('create', 'UA-66983210-2', 'auto');ga('send', 'pageview');</scr" + "ipt>"
};

tiptoe(
	function removeJSONDirectory()
	{
		base.info("Clearing JSON directory...");
		rimraf(path.join(__dirname, "json"), this);
	},
	function createJSONDirectory()
	{
		fs.mkdir(path.join(__dirname, "json"), this);
	},
	function loadJSON()
	{
"use strict";
/*global setImmediate: true*/

var base = require("xbase"),
	C = require("C"),
	path = require("path"),
	moment = require("moment"),
	fs = require("fs"),
	shared = require("shared"),
	tiptoe = require("tiptoe");

var targetSetCode = process.argv[2];
if(!C.SETS_NOT_ON_GATHERER.contains(targetSetCode))
{
	base.error("Usage: node %s <set code>", process.argv[1]);
	process.exit(1);
}

var targetSet = C.SETS.mutateOnce(function(SET) { if(SET.code===targetSetCode) { return SET; } });

var newSet = base.clone(targetSet);
newSet.cards = [];

tiptoe(
	function getTargetMultiverseids()
	{
		getMultiverseidsForSet(targetSetCode, this);
	},
	function processSets(targetMultiverseids)
	{
		C.SETS.map(function(SET) { return SET.code; }).serialForEach(function(setCode, subcb) { processSet(setCode, targetMultiverseids, subcb); }, this);
			var validSets = C.SETS.filter(function(SET) { return !C.SETS_NOT_ON_GATHERER.contains(SET.code); });