diff --git a/index.js b/index.js new file mode 100644 index 0000000..7eebbeb --- /dev/null +++ b/index.js @@ -0,0 +1,101 @@ +var fs = require('fs'); +var parse = require('csv-parse'); +const { DateTime } = require("luxon"); + +let matches = []; +let roundsInMatch = []; +function logLastMatch(){ + var round1 = roundsInMatch[0]; + if(roundsInMatch.length < 3){ + matches.push(round1); + }else{ + if(roundsInMatch.filter(rim => rim.victorious_deck == round1.victorious_deck).length > + roundsInMatch.filter(rim => rim.victorious_deck == round1.losing_deck).length){ + matches.push(round1); + }else{ + matches.push({ + "victorious_deck": round1.losing_deck, + "victorious_player": round1.losing_player, + "losing_deck": round1.victorious_deck, + "losing_player": round1.victorious_player + }); + } + } +} +var parser = parse({columns: true}, function (err, records) { + let sortedRecords = records.sort((lhs, rhs) => { + if (DateTime.fromISO(lhs.date) < DateTime.fromISO(rhs.date)){ + return -1; + }else if (DateTime.fromISO(lhs.date) > DateTime.fromISO(rhs.date)){ + return 1; + } + else return 0; + }); + sortedRecords.forEach(rec => { + console.log(DateTime.fromISO(rec.date).toString()); + let filterResultsSames = roundsInMatch.filter(round => + (round.losing_player == rec.losing_player && round.losing_deck == rec.losing_deck && + round.victorious_player == rec.victorious_player && round.victorious_deck == rec.victorious_deck) + ); + let filterResultsOpposites = roundsInMatch.filter(round => + (round.victorious_player == rec.losing_player && round.victorious_deck == rec.losing_deck && + round.losing_player == rec.victorious_player && round.losing_deck == rec.victorious_deck) + ); + if(roundsInMatch.length !== 0 && filterResultsSames.length == 0 && filterResultsOpposites.length == 0){ + logLastMatch(); + roundsInMatch = []; + } + roundsInMatch.push({ + "victorious_deck": rec.victorious_deck, + "victorious_player": rec.victorious_player, + "losing_deck": rec.losing_deck, + "losing_player": rec.losing_player + }); + }); + logLastMatch(); + + let deckNodes = []; + let edges = []; + matches.forEach(match => { + let foundVictorNode = deckNodes.find(dn => dn.deck == match.victorious_deck && dn.player == match.victorious_player); + if(foundVictorNode === undefined){ + foundVictorNode = {"deck": match.victorious_deck, "player": match.victorious_player, id: deckNodes.length}; + deckNodes.push(foundVictorNode); + }else{ + } + let foundLoserNode = deckNodes.find(dn => dn.deck == match.losing_deck && dn.player == match.losing_player); + if(foundLoserNode === undefined){ + foundLoserNode = {"deck": match.losing_deck, "player": match.losing_player, id: deckNodes.length}; + deckNodes.push(foundLoserNode); + }else{ + } + let foundEdge = edges.find(e => e.victorId == foundVictorNode.id && e.loserId == foundLoserNode.id); + if(foundEdge === undefined){ + foundEdge = {"victorId": foundVictorNode.id, "loserId": foundLoserNode.id, count: 0}; + edges.push(foundEdge); + }else{ + } + foundEdge.count++; + }); + + let dot = `digraph{\n\tbgcolor="silver";\n\tnode [shape="rectangle"];\n`; + deckNodes.forEach(dn => { + dot += "\td_" + dn.id + " [label=<" + dn.deck + "
" + dn.player + ">];\n" + }); + dot += "\n"; + edges.forEach(e => { + dot += "\td_" + e.victorId + " -> d_" + e.loserId; + if(e.count > 1){ + dot += " [label=\"" + e.count + "\"]"; + } + dot += ";\n"; + }); + dot += "}\n"; + console.log(dot); + let writable = fs.createWriteStream(__dirname +'/standings.gv'); + writable.write(dot); +}); +parser.on('error', function(err){ + console.error(err.message) +}); +fs.createReadStream(__dirname+'/standings complete history.csv').pipe(parser); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..3c8fbe2 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,52 @@ +{ + "name": "standings-graph", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "csv": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/csv/-/csv-5.3.2.tgz", + "integrity": "sha512-odDyucr9OgJTdGM2wrMbJXbOkJx3nnUX3Pt8SFOwlAMOpsUQlz1dywvLMXJWX/4Ib0rjfOsaawuuwfI5ucqBGQ==", + "requires": { + "csv-generate": "^3.2.4", + "csv-parse": "^4.8.8", + "csv-stringify": "^5.3.6", + "stream-transform": "^2.0.1" + } + }, + "csv-generate": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/csv-generate/-/csv-generate-3.3.0.tgz", + "integrity": "sha512-EXSru4QwEWKwM7wwsJbhrZC+mHEJrhQFoXlohHs80CAU8Qhlv9gaw1sjzNiC3Hr3oUx5skDmEiAlz+tnKWV0RA==" + }, + "csv-parse": { + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-4.15.0.tgz", + "integrity": "sha512-y2wGeU/ybvUlyw6F+eanM6lxxE4JthCuHuaoTgPXdw6ImmfYXqtP0nrCLqd6Ew/a0FgPEz36y5HznI0W5oJ+cg==" + }, + "csv-stringify": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-5.6.1.tgz", + "integrity": "sha512-JlQlNZMiuRGSFbLXFNGoBtsORXlkqf4Dfq8Ee0Jo4RVJj3YAUzevagUx24mDrQJLDF7aYz6Ne8kqA8WWBaYt2A==" + }, + "luxon": { + "version": "1.25.0", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-1.25.0.tgz", + "integrity": "sha512-hEgLurSH8kQRjY6i4YLey+mcKVAWXbDNlZRmM6AgWDJ1cY3atl8Ztf5wEY7VBReFbmGnwQPz7KYJblL8B2k0jQ==" + }, + "mixme": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/mixme/-/mixme-0.4.0.tgz", + "integrity": "sha512-B4Sm1CDC5+ov5AYxSkyeT5HLtiDgNOLKwFlq34wr8E2O3zRdTvQiLzo599Jt9cir6VJrSenOlgvdooVYCQJIYw==" + }, + "stream-transform": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/stream-transform/-/stream-transform-2.0.4.tgz", + "integrity": "sha512-LQXH1pUksoef5Ijo6+2ihnjLLZtZuoqu1vhut6a7xZ77nrLA/shbbx2FAzVC/nkb6wwrPzOO98700mv4HDQcWg==", + "requires": { + "mixme": "^0.4.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..5de9f78 --- /dev/null +++ b/package.json @@ -0,0 +1,16 @@ +{ + "name": "standings-graph", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "start": "node index.js; dot standings.gv -Tpng -ostandings.png", + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "adam", + "license": "ISC", + "dependencies": { + "csv": "^5.3.2", + "luxon": "^1.25.0" + } +} diff --git a/standings complete history.csv b/standings complete history.csv new file mode 100644 index 0000000..18b7277 --- /dev/null +++ b/standings complete history.csv @@ -0,0 +1,309 @@ +date,victorious_deck,victorious_player,losing_deck,losing_player,notes +2020-11-11 00:00:00,Niv-Mizzet=#1,Alex,Dat Brudi Doe,Adam, +2020-11-11 00:00:00,Niv-Mizzet=#1,Alex,Dat Brudi Doe,Adam, +2020-11-11 00:00:00,Drowning Emrakul,Adam,Chandra,Alex, +2020-11-11 00:00:00,Zaxara,Alex,Karlov Lifegain,Adam, +2020-11-11 00:00:00,Zaxara,Alex,Karlov Lifegain,Adam, +2020-11-11 00:00:00,Zirda,Alex,Noble Rot,Adam, +2020-12-03 15:15:00,Drowning Emrakul,Adam,K'rrik,Alex, +2020-12-03 16:07:00,Zaxara,Alex,Noble Rot,Adam, +2020-12-03 16:46:00,Karlov Lifegain,Adam,Zirda,Alex, +2020-12-03 17:32:00,Dagrons,Alex,Dat Brudi Doe,Adam, +2020-12-10 14:19:00,8.5t,Alex,Drowning Emrakul,Adam, +2020-12-10 15:10:00,Drowning Emrakul,Adam,8.5t,Alex, +2020-12-10 15:34:00,8.5t,Alex,Drowning Emrakul,Adam, +2020-12-10 15:51:00,Niv-Mizzet=#1,Alex,Noble Rot,Adam, +2020-12-10 16:08:00,Niv-Mizzet=#1,Alex,Noble Rot,Adam, +2020-12-10 16:39:00,Chandra,Alex,Dat Brudi Doe,Adam, +2020-12-10 17:00:00,Dat Brudi Doe,Adam,Chandra,Alex, +2020-12-10 17:11:00,Dat Brudi Doe,Adam,Chandra,Alex, +2020-12-21 02:48:00,Noble Rot,Adam,Zaxara,Alex, +2020-12-21 03:29:00,Zaxara,Alex,Noble Rot,Adam, +2020-12-21 03:56:00,Zaxara,Alex,Noble Rot,Adam, +2020-12-21 04:12:00,Dagrons,Alex,Karlov Lifegain,Adam,c +2020-12-21 04:28:00,All The World's A Stage,Alex,Dat Brudi Doe,Adam, +2020-12-21 05:03:00,All The World's A Stage,Alex,Dat Brudi Doe,Adam, +2020-12-28 01:24:00,Chandra,Alex,Karlov Lifegain,Adam, +2020-12-28 01:48:00,Chandra,Alex,Karlov Lifegain,Adam, +2020-12-28 02:20:00,Zaxara,Alex,Drowning Emrakul,Adam, +2020-12-28 03:03:00,Zaxara,Alex,Drowning Emrakul,Adam, +2020-12-28 04:03:00,Noble Rot,Adam,K'rrik,Alex, +2020-12-28 04:36:00,Noble Rot,Adam,K'rrik,Alex, +2021-01-04 01:42:00,8.5t,Alex,Karlov Lifegain,Adam, +2021-01-04 02:10:00,8.5t,Alex,Karlov Lifegain,Adam, +2021-01-04 03:06:00,All The World's A Stage,Alex,Drowning Emrakul,Adam, +2021-01-04 03:30:00,Drowning Emrakul,Adam,All The World's A Stage,Alex, +2021-01-04 03:46:00,All The World's A Stage,Alex,Drowning Emrakul,Adam, +2021-01-04 04:08:00,Noble Rot,Adam,Dagrons,Alex,nullified +2021-01-04 04:32:00,Noble Rot,Adam,Dagrons,Alex, +2021-01-11 02:51:00,Dagrons,Alex,Noble Rot,Adam, +2021-01-11 03:17:00,Dagrons,Alex,Noble Rot,Adam, +2021-01-11 03:56:00,K'rrik,Alex,Karlov Lifegain,Adam, +2021-01-11 04:30:00,K'rrik,Alex,Karlov Lifegain,Adam, +2021-01-18 00:00:00,Liesa,Adam,K'rrik,Alex, +2021-01-18 00:00:00,K'rrik,Alex,Liesa,Adam, +2021-01-18 00:00:00,K'rrik,Alex,Liesa,Adam, +2021-01-18 00:00:00,Krarkashima,Alex,Dat Brudi Doe,Adam, +2021-01-18 00:00:00,Dat Brudi Doe,Adam,Krarkashima,Alex, +2021-01-18 00:00:00,Krarkashima,Alex,Dat Brudi Doe,Adam, +2021-01-18 00:00:00,Drowning Emrakul,Alex,Zirda,Adam, +2021-01-25 00:00:00,Krarkashima,Alex,Liesa,Adam, +2021-01-25 00:00:00,Krarkashima,Alex,Liesa,Adam, +2021-01-25 00:00:00,Chandra,Alex,Noble Rot,Adam, +2021-01-25 00:00:00,Chandra,Alex,Noble Rot,Adam, +2021-01-25 00:00:00,8.5t,Alex,Drowning Emrakul,Adam, +2021-01-25 00:00:00,8.5t,Alex,Drowning Emrakul,Adam, +2021-02-01 00:00:00,*Marwyn,Adam,Krarkashima,Alex, +2021-02-01 00:30:00,*Marwyn,Adam,Krarkashima,Alex, +2021-02-01 01:00:00,Liesa,Adam,Zirda,Alex, +2021-02-01 02:00:00,Zirda,Alex,Liesa,Adam, +2021-02-01 03:00:00,Zirda,Alex,Liesa,Adam, +2021-02-08 03:04:00,Drowning Emrakul,Adam,Krarkashima,Alex, +2021-02-08 03:33:00,Krarkashima,Alex,Drowning Emrakul,Adam, +2021-02-08 03:50:00,Drowning Emrakul,Adam,Krarkashima,Alex, +2021-02-08 04:20:00,Zaxara,Alex,Dat Brudi Doe,Adam, +2021-02-08 04:30:00,Zaxara,Alex,Dat Brudi Doe,Adam, +2021-02-15 01:25:00,Brallin,Alex,Kaalia,Adam, +2021-02-15 01:53:00,Kaalia,Adam,Brallin,Alex, +2021-02-15 02:07:00,Kaalia,Adam,Brallin,Alex, +2021-02-15 03:09:00,Krarkashima,Alex,Noble Rot,Adam, +2021-02-15 03:35:00,Noble Rot,Adam,Krarkashima,Alex, +2021-02-15 04:14:00,Noble Rot,Adam,Krarkashima,Alex, +2021-02-15 04:48:00,*Marwyn,Adam,To the Yawgflame,Alex, +2021-02-22 01:57:00,Yorian,Alex,Kaalia,Adam, +2021-02-22 02:35:00,Yorian,Alex,Kaalia,Adam, +2021-02-22 03:18:00,Niv-Mizzet=#1,Alex,Liesa,Adam, +2021-02-22 03:39:00,Liesa,Adam,Niv-Mizzet=#1,Alex, +2021-02-22 03:56:00,Niv-Mizzet=#1,Alex,Liesa,Adam, +2021-02-22 04:19:00,Zirda,Alex,Drowning Emrakul,Adam, +2021-03-01 01:41:00,*Marwyn,Adam,Zirda,Alex, +2021-03-01 01:42:00,Zirda,Alex,*Marwyn,Adam, +2021-03-01 02:28:00,*Marwyn,Adam,Zirda,Alex, +2021-03-01 03:00:00,Zaxara,Alex,Drowning Emrakul,Adam, +2021-03-01 03:28:00,Zaxara,Alex,Drowning Emrakul,Adam, +2021-03-01 03:29:00,Chandra,Alex,Noble Rot,Adam, +2021-03-08 01:00:00,Niv-Mizzet=#1,Alex,Liesa,Adam, +2021-03-08 01:00:01,Niv-Mizzet=#1,Alex,Liesa,Adam, +2021-03-08 01:00:02,8.5t,Alex,Noble Rot,Adam, +2021-03-08 01:00:03,Noble Rot,Adam,8.5t,Alex, +2021-03-08 01:00:04,8.5t,Alex,Noble Rot,Adam, +2021-03-08 01:00:05,Drowning Emrakul,Adam,Mrs. The_Beef,Alex, +2021-03-15 01:10:22,*Marwyn,Adam,Dagrons,Alex, +2021-03-15 01:23:26,Dagrons,Alex,*Marwyn,Adam, +2021-03-15 01:53:46,Zaxara,Alex,Dat Brudi Doe,Adam, +2021-03-15 02:06:00,Dat Brudi Doe,Adam,Zaxara,Alex, +2021-03-15 02:24:44,Zaxara,Alex,Dat Brudi Doe,Adam, +2021-03-15 02:49:07,Mrs. The_Beef,Alex,Kaalia,Adam, +2021-03-15 03:00:36,Kaalia,Adam,Mrs. The_Beef,Alex, +2021-03-15 03:30:00,Mrs. The_Beef,Alex,Kaalia,Adam, +2021-03-15 04:15:12,Liesa,Adam,Colfenor,Alex, +2021-03-22 01:29:53,Niv-Mizzet=#1,Alex,Kaalia,Adam, +2021-03-22 01:49:28,Niv-Mizzet=#1,Alex,Kaalia,Adam, +2021-03-22 02:31:26,Krakashima,Adam,8.5t,Alex, +2021-03-22 02:44:36,8.5t,Alex,Krakashima,Adam, +2021-03-22 03:12:35,8.5t,Alex,Krakashima,Adam, +2021-03-22 03:51:22,To the Yawgflame,Alex,Drowning Emrakul,Adam, +2021-03-22 04:21:40,To the Yawgflame,Alex,Drowning Emrakul,Adam, +2021-03-29 01:42:42,Zaxara,Alex,*Marwyn,Adam, +2021-03-29 02:09:58,*Marwyn,Adam,Zaxara,Alex, +2021-03-29 02:50:53,8.5t,Alex,Niv-Mizzet=#1,Adam, +2021-03-29 03:25:41,8.5t,Alex,Niv-Mizzet=#1,Adam, +2021-03-29 04:05:40,To the Yawgflame,Alex,Kaalia,Adam, +2021-03-29 04:43:12,To the Yawgflame,Alex,Kaalia,Adam, +2021-04-05 02:43:21,Zaxara,Adam,8.5t,Alex, +2021-04-05 03:07:07,8.5t,Alex,Zaxara,Adam, +2021-04-05 03:45:48,Zaxara,Adam,8.5t,Alex, +2021-04-05 04:01:54,8.5t,Alex,Zaxara,Adam, +2021-04-05 05:11:39,8.5t,Alex,Zaxara,Adam, +2021-04-12 01:57:51,Dat Brudi Doe,Adam,To the Yawgflame,Alex, +2021-04-12 02:20:07,Dat Brudi Doe,Adam,To the Yawgflame,Alex, +2021-04-12 02:55:18,Noble Rot,Adam,Mrs. The_Beef,Alex, +2021-04-12 03:17:41,Noble Rot,Adam,Mrs. The_Beef,Alex, +2021-04-12 03:38:56,Krarkashima,Alex,Drowning Emrakul,Adam, +2021-04-12 03:51:01,Drowning Emrakul,Adam,Krarkashima,Alex, +2021-04-12 04:05:20,Krarkashima,Alex,Drowning Emrakul,Adam, +2021-04-19 01:31:09,*Marwyn,Adam,8.5t,Alex, +2021-04-19 01:58:41,8.5t,Alex,*Marwyn,Adam, +2021-04-19 02:33:12,*Marwyn,Adam,8.5t,Alex, +2021-04-19 02:53:19,Dat Brudi Doe,Adam,Mrs. The_Beef,Alex, +2021-04-19 03:09:03,Mrs. The_Beef,Alex,Dat Brudi Doe,Adam, +2021-04-19 03:29:42,Dat Brudi Doe,Adam,Mrs. The_Beef,Alex, +2021-04-19 03:57:35,Chandra,Alex,Liesa,Adam, +2021-04-19 04:21:32,Chandra,Alex,Liesa,Adam, +2021-04-26 02:40:29,Quantum Quandrix,Alex,Witherbloom Witchcraft,Adam, +2021-04-26 03:24:31,Quantum Quandrix,Alex,Witherbloom Witchcraft,Adam, +2021-04-26 04:17:53,Brallin,Alex,Drowning Emrakul,Adam, +2021-05-03 01:44:33,Adrix And Nev,Alex,monorally,Adam, +2021-05-03 02:08:26,Adrix And Nev,Alex,monorally,Adam, +2021-05-03 02:35:59,Adrix And Nev,Alex,monorally,Adam, +2021-05-03 02:55:33,Mrs. The_Beef,Alex,monorally,Adam, +2021-05-03 03:15:05,Mrs. The_Beef,Alex,monorally,Adam, +2021-05-03 04:07:55,Dat Brudi Doe,Adam,Zirda,Alex, +2021-05-03 04:16:32,Zirda,Alex,Dat Brudi Doe,Adam, +2021-05-03 04:28:42,Dat Brudi Doe,Adam,Zirda,Alex, +2021-05-10 01:14:17,Kaalia,Adam,Adrix And Nev,Alex, +2021-05-10 01:44:01,Adrix And Nev,Alex,Kaalia,Adam, +2021-05-10 02:06:51,Adrix And Nev,Alex,Kaalia,Adam, +2021-05-10 02:34:15,Krarkashima,Alex,Liesa,Adam, +2021-05-10 03:09:30,Krarkashima,Alex,Liesa,Adam, +2021-05-10 04:11:42,To the Yawgflame,Alex,Noble Rot,Adam, +2021-05-10 04:33:12,To the Yawgflame,Alex,Noble Rot,Adam, +2021-05-17 01:52:39,Odecka,Adam,Koma,Alex, +2021-05-17 02:23:45,Koma,Alex,Odecka,Adam, +2021-05-17 02:45:00,Koma,Alex,Odecka,Adam, +2021-05-17 02:51:06,All The World's A Stage,Alex,Tawnos,Adam, +2021-05-17 03:16:58,All The World's A Stage,Alex,Tawnos,Adam, +2021-05-17 03:57:39,Mrs. The_Beef,Alex,Tawnos,Adam, +2021-05-24 01:58:37,Daxos,Alex,Odecka,Adam, +2021-05-24 01:19:00,Odecka,Adam,Daxos,Alex, +2021-05-24 02:51:47,Daxos,Alex,Odecka,Adam, +2021-05-24 03:06:48,*Marwyn,Adam,Koma,Alex, +2021-05-24 03:27:31,*Marwyn,Adam,Koma,Alex, +2021-05-24 03:55:10,Drowning Emrakul,Adam,Chandra,Alex, +2021-05-31 01:34:55,8.5t,Alex,Kaalia,Adam, +2021-05-31 01:55:44,8.5t,Alex,Kaalia,Adam, +2021-05-31 02:24:10,To the Yawgflame,Alex,Odecka,Adam, +2021-05-31 02:54:26,Odecka,Adam,To the Yawgflame,Alex, +2021-05-31 03:22:16,To the Yawgflame,Alex,Odecka,Adam, +2021-05-31 04:00:00,Tawnos,Adam,Daxos,Alex, +2021-06-07 02:13:01,To the Yawgflame,Alex,Tawnos,Adam, +2021-06-07 02:32:33,To the Yawgflame,Alex,Tawnos,Adam, +2021-06-07 03:18:52,Krarkashima,Alex,Kaalia,Adam, +2021-06-07 03:52:36,Krarkashima,Alex,Kaalia,Adam, +2021-06-07 04:18:49,Mrs. The_Beef,Alex,Kaalia,Adam, +2021-06-14 01:42:58,Noble Rot,Adam,Zaxara,Alex, +2021-06-14 02:08:22,Zaxara,Alex,Noble Rot,Adam, +2021-06-14 02:35:10,Noble Rot,Adam,Zaxara,Alex, +2021-06-14 02:59:00,Tawnos,Adam,Zirda,Alex, +2021-06-14 03:16:17,Zirda,Alex,Tawnos,Adam, +2021-06-14 03:34:10,Zirda,Alex,Tawnos,Adam, +2021-06-14 03:59:42,Dagrons,Alex,Drowning Emrakul,Adam, +2021-06-28 02:05:25,Chatterfang,Alex,Noble Rot,Adam, +2021-06-28 02:20:48,Chatterfang,Alex,Noble Rot,Adam, +2021-06-28 02:53:35,Odecka,Adam,Krarkashima,Alex, +2021-06-28 03:15:31,Krarkashima,Alex,Odecka,Adam, +2021-06-28 03:42:05,Krarkashima,Alex,Odecka,Adam, +2021-06-28 04:17:12,Kaalia,Adam,Chatterfang,Alex, +2021-07-05 01:42:05,Chatterfang,Alex,Drowning Emrakul,Adam, +2021-07-05 02:19:54,Chatterfang,Alex,Drowning Emrakul,Adam, +2021-07-05 03:05:47,Niv-Mizzet=#1,Alex,*Marwyn,Adam, +2021-07-05 03:25:12,Niv-Mizzet=#1,Alex,*Marwyn,Adam, +2021-07-05 04:00:16,Mrs. The_Beef,Alex,Kaalia,Adam, +2021-07-12 01:50:31,Chatterfang,Alex,Tawnos,Adam, +2021-07-12 02:08:59,Chatterfang,Alex,Tawnos,Adam, +2021-07-12 02:44:53,Noble Rot,Adam,Chandra,Alex, +2021-07-12 03:11:20,Chandra,Alex,Noble Rot,Adam, +2021-07-12 03:41:32,Noble Rot,Adam,Chandra,Alex, +2021-07-12 04:19:30,*Marwyn,Adam,To the Yawgflame,Alex, +2021-07-19 02:08:15,Chatterfang,Alex,Cooking With Asmoranomardicadaistinaculdacar,Adam, +2021-07-19 02:57:53,Cooking With Asmoranomardicadaistinaculdacar,Adam,Chatterfang,Alex, +2021-07-19 03:46:29,Chatterfang,Alex,Cooking With Asmoranomardicadaistinaculdacar,Adam, +2021-07-19 04:20:23,Noble Rot,Adam,Krarkashima,Alex, +2021-07-26 02:35:44,Live Longnd,Alex,Asmor,Adam, +2021-07-26 03:07:07,Live Longnd,Alex,Asmor,Adam, +2021-07-26 03:51:15,Live Longnd,Alex,Drowning Emrakul,Adam, +2021-07-26 04:44:13,Live Longnd,Alex,Drowning Emrakul,Adam, +2021-07-26 05:19:00,Chatterfang,Alex,Tawnos,Adam, +2021-07-26 05:49:16,Chatterfang,Alex,Tawnos,Adam, +2021-07-26 06:18:56,Zirda,Alex,Kaalia,Adam, +2021-07-26 06:40:49,Kaalia,Adam,Zirda,Alex, +2021-08-02 01:36:09,Kaalia,Adam,Zirda,Alex, +2021-08-09 01:41:06,*Marwyn,Adam,Live Longnd,Alex, +2021-08-09 01:49:52,*Marwyn,Adam,Live Longnd,Alex, +2021-08-09 02:31:27,8.5t,Alex,Drowning Emrakul,Adam, +2021-08-09 03:02:47,8.5t,Alex,Drowning Emrakul,Adam, +2021-08-09 03:26:15,Chandra,Alex,Kaalia,Adam, +2021-08-09 03:34:29,Kaalia,Adam,Chandra,Alex, +2021-08-09 03:52:49,Kaalia,Adam,Chandra,Alex, +2021-08-16 01:56:48,Chatterfang,Alex,Ooze,Adam, +2021-08-16 02:26:47,Chatterfang,Alex,Ooze,Adam, +2021-08-16 02:54:39,Mrs. The_Beef,Alex,Kaalia,Adam, +2021-08-16 03:08:16,Kaalia,Adam,Mrs. The_Beef,Alex, +2021-08-16 03:23:01,Kaalia,Adam,Mrs. The_Beef,Alex, +2021-08-16 03:48:22,Zaxara,Alex,Tawnos,Adam, +2021-08-16 04:26:29,Tawnos,Adam,Zaxara,Alex, +2021-08-16 05:01:33,Zaxara,Alex,Tawnos,Adam, +2021-08-23 02:06:12,Live Longnd,Alex,Kaalia,Adam, +2021-08-23 02:09:51,Kaalia,Adam,Live Longnd,Alex, +2021-08-23 02:28:29,Live Longnd,Alex,Kaalia,Adam, +2021-08-23 03:11:58,To the Yawgflame,Alex,Ooze,Adam, +2021-08-23 03:32:20,To the Yawgflame,Alex,Ooze,Adam, +2021-08-23 04:05:08,Tawnos,Adam,Krarkashima,Alex, +2021-08-23 04:28:06,Tawnos,Adam,Krarkashima,Alex, +2021-08-23 04:50:47,Dagrons,Alex,Kaalia,Adam, +2021-08-23 04:59:48,Kaalia,Adam,Dagrons,Alex, +2021-08-23 05:11:50,Kaalia,Adam,Dagrons,Alex, +2021-08-23 05:56:47,Chatterfang,Alex,Drowning Emrakul,Adam, +2021-08-23 06:19:35,Drowning Emrakul,Adam,Chatterfang,Alex, +2021-08-23 06:37:42,Drowning Emrakul,Adam,Chatterfang,Alex, +2021-08-30 02:00:45,Mrs. The_Beef,Alex,Tawnos,Adam, +2021-08-30 02:25:40,Mrs. The_Beef,Alex,Tawnos,Adam, +2021-08-30 03:26:58,Live Longnd,Alex,Noble Rot,Adam, +2021-08-30 03:58:42,Noble Rot,Adam,Live Longnd,Alex, +2021-08-30 04:45:16,Live Longnd,Alex,Noble Rot,Adam, +2021-08-30 05:24:52,Chatterfang,Alex,Drowning Emrakul,Adam, +2021-08-30 05:45:47,Chatterfang,Alex,Drowning Emrakul,Adam, +2021-09-06 01:51:57,Live Longnd,Alex,Ooze,Adam, +2021-09-06 02:10:03,Live Longnd,Alex,Ooze,Adam, +2021-09-06 03:08:43,*Marwyn,Adam,Zirda,Alex, +2021-09-06 03:22:48,*Marwyn,Adam,Zirda,Alex, +2021-09-06 05:22:00,8.5t,Alex,Noble Rot,Adam, +2021-09-13 01:47:03,Chatterfang,Alex,Drowning Emrakul,Adam, +2021-09-13 02:12:30,Drowning Emrakul,Adam,Chatterfang,Alex, +2021-09-13 02:33:50,Chatterfang,Alex,Drowning Emrakul,Adam, +2021-09-13 03:13:22,To the Yawgflame,Alex,*Marwyn,Adam, +2021-09-13 03:37:27,*Marwyn,Adam,To the Yawgflame,Alex, +2021-09-13 03:54:31,To the Yawgflame,Alex,*Marwyn,Adam, +2021-09-13 04:24:49,Intet,Alex,Kaalia,Adam, +2021-09-13 04:42:11,Intet,Alex,Kaalia,Adam, +2021-09-20 02:13:58,Live Longnd,Alex,Ooze,Adam, +2021-09-20 02:48:46,Live Longnd,Alex,Ooze,Adam, +2021-09-20 03:18:57,Noble Rot,Adam,Zaxara,Alex, +2021-09-20 03:47:48,Zaxara,Alex,Noble Rot,Adam, +2021-09-20 04:12:53,Zaxara,Alex,Noble Rot,Adam, +2021-10-04 01:52:15,Krarkashima,Alex,Tawnos,Adam, +2021-10-04 02:13:59,Krarkashima,Alex,Tawnos,Adam, +2021-10-04 02:38:43,Ooze,Adam,Mrs. The_Beef,Alex, +2021-10-04 02:56:57,Mrs. The_Beef,Alex,Ooze,Adam, +2021-10-04 03:13:06,Ooze,Adam,Mrs. The_Beef,Alex, +2021-10-04 03:54:55,Live Longnd,Alex,Noble Rot,Adam, +2021-10-11 01:47:37,Drowning Emrakul,Adam,Brallin,Alex, +2021-10-11 02:15:22,Brallin,Alex,Drowning Emrakul,Adam, +2021-10-11 02:38:31,Brallin,Alex,Drowning Emrakul,Adam, +2021-10-11 03:14:00,Niv-Mizzet=1,Alex,Tawnos,Adam, +2021-10-11 03:43:40,Niv-Mizzet=1,Alex,Tawnos,Adam, +2021-10-11 04:13:16,Chandra,Alex,Kaalia,Adam, +2021-10-11 04:33:34,Kaalia,Adam,Chandra,Alex, +2021-10-11 05:00:42,Chandra,Alex,Kaalia,Adam, +2021-10-18 01:32:21,Live Longnd,Alex,*Marwyn,Adam, +2021-10-18 02:07:34,Live Longnd,Alex,*Marwyn,Adam, +2021-10-18 02:35:42,Niv-Mizzet=#1,Alex,Drowning Emrakul,Adam, +2021-10-18 02:57:59,Drowning Emrakul,Adam,Niv-Mizzet=#1,Alex, +2021-10-18 03:16:30,Niv-Mizzet=#1,Alex,Drowning Emrakul,Adam, +2021-10-18 03:54:43,Ooze,Adam,Mrs. The_Beef,Alex, +2021-10-18 04:07:37,Ooze,Adam,Mrs. The_Beef,Alex, +2021-11-08 02:07:17,Live Longnd,Alex,Korvold,Adam, +2021-11-08 02:32:28,Live Longnd,Alex,Korvold,Adam, +2021-11-08 03:12:59,Krarkashima,Alex,Tawnos,Adam, +2021-11-08 03:25:35,Krarkashima,Alex,Tawnos,Adam, +2021-11-08 04:06:26,Zirda,Alex,Drowning Emrakul,Adam, +2021-11-08 04:23:06,Zirda,Alex,Drowning Emrakul,Adam, +2021-11-08 05:05:31,To The Yawgflame,Alex,*Marwyn,Adam, +2021-11-08 05:25:14,To The Yawgflame,Alex,*Marwyn,Adam, +2021-11-15 02:11:12,Live Longnd,Alex,Korvold,Adam, +2021-11-15 02:51:20,Live Longnd,Alex,Korvold,Adam, +2021-11-15 05:25:17,Zirda,Alex,Tawnos,Adam, +2021-11-15 06:27:35,Tawnos,Adam,Zirda,Alex, +2021-11-15 07:01:51,Zirda,Alex,Tawnos,Adam, +2021-11-29 02:04:22,Tawnos,Adam,Zaxara,Alex, +2021-11-29 02:04:23,Zaxara,Alex,Tawnos,Adam, +2021-11-29 02:22:37,Zaxara,Alex,Tawnos,Adam, +2021-12-06 01:27:57,Krarkashima,Alex,Korvold,Adam, +2021-12-06 01:48:00,Korvold,Adam,Krarkashima,Alex, +2021-12-06 02:05:58,Krarkashima,Alex,Korvold,Adam, +2021-12-06 02:49:31,Live Longnd,Alex,*Marwyn,Adam, +2021-12-06 02:58:26,Live Longnd,Alex,*Marwyn,Adam, +2021-12-06 03:22:50,Chatterfang,Alex,Ooze,Adam, +2021-12-06 03:48:24,Chatterfang,Alex,Ooze,Adam, +2021-12-06 04:05:31,Kaalia,Adam,Dagrons,Alex, +2021-12-06 04:13:02,Kaalia,Adam,Dagrons,Alex, diff --git a/standings.gv b/standings.gv new file mode 100644 index 0000000..6f67b5b --- /dev/null +++ b/standings.gv @@ -0,0 +1,156 @@ +digraph{ + bgcolor="silver"; + node [shape="rectangle"]; + d_0 [label=Alex>]; + d_1 [label=Adam>]; + d_2 [label=Adam>]; + d_3 [label=Alex>]; + d_4 [label=Alex>]; + d_5 [label=Adam>]; + d_6 [label=Alex>]; + d_7 [label=Adam>]; + d_8 [label=Alex>]; + d_9 [label=Alex>]; + d_10 [label=<8.5t
Alex>]; + d_11 [label=Alex>]; + d_12 [label=Adam>]; + d_13 [label=Alex>]; + d_14 [label=Alex>]; + d_15 [label=Adam>]; + d_16 [label=<*Marwyn
Adam>]; + d_17 [label=Adam>]; + d_18 [label=Alex>]; + d_19 [label=Alex>]; + d_20 [label=Alex>]; + d_21 [label=Alex>]; + d_22 [label=Alex>]; + d_23 [label=Adam>]; + d_24 [label=Adam>]; + d_25 [label=Adam>]; + d_26 [label=Alex>]; + d_27 [label=Adam>]; + d_28 [label=Alex>]; + d_29 [label=Adam>]; + d_30 [label=Alex>]; + d_31 [label=Adam>]; + d_32 [label=Adam>]; + d_33 [label=Alex>]; + d_34 [label=Alex>]; + d_35 [label=Adam>]; + d_36 [label=Alex>]; + d_37 [label=Adam>]; + d_38 [label=Adam>]; + d_39 [label=Alex>]; + d_40 [label=Alex>]; + d_41 [label=Adam>]; + d_42 [label=Alex>]; + + d_0 -> d_1; + d_2 -> d_3 [label="2"]; + d_4 -> d_5; + d_6 -> d_7; + d_2 -> d_8; + d_4 -> d_7 [label="3"]; + d_5 -> d_6; + d_9 -> d_1; + d_10 -> d_2 [label="3"]; + d_0 -> d_7; + d_1 -> d_3; + d_9 -> d_5; + d_11 -> d_1; + d_3 -> d_5; + d_4 -> d_2 [label="2"]; + d_7 -> d_8; + d_10 -> d_5; + d_11 -> d_2; + d_9 -> d_7; + d_8 -> d_5; + d_8 -> d_12; + d_13 -> d_1; + d_14 -> d_15; + d_13 -> d_12 [label="2"]; + d_3 -> d_7 [label="2"]; + d_16 -> d_13; + d_6 -> d_12; + d_2 -> d_13; + d_4 -> d_1 [label="2"]; + d_17 -> d_18; + d_7 -> d_13 [label="2"]; + d_16 -> d_19 [label="2"]; + d_20 -> d_17; + d_0 -> d_12 [label="2"]; + d_6 -> d_2 [label="2"]; + d_16 -> d_6 [label="2"]; + d_10 -> d_7 [label="2"]; + d_2 -> d_21; + d_16 -> d_9; + d_21 -> d_17 [label="3"]; + d_12 -> d_22; + d_0 -> d_17; + d_10 -> d_23; + d_19 -> d_2; + d_4 -> d_16; + d_10 -> d_24; + d_19 -> d_17; + d_10 -> d_25; + d_1 -> d_19; + d_7 -> d_21; + d_13 -> d_2; + d_16 -> d_10; + d_1 -> d_21; + d_3 -> d_12; + d_26 -> d_27; + d_18 -> d_2 [label="2"]; + d_28 -> d_29; + d_21 -> d_29; + d_1 -> d_6; + d_28 -> d_17; + d_19 -> d_7; + d_30 -> d_31; + d_11 -> d_32; + d_21 -> d_32 [label="2"]; + d_33 -> d_31; + d_16 -> d_30; + d_10 -> d_17; + d_19 -> d_31; + d_32 -> d_33; + d_19 -> d_32; + d_13 -> d_17; + d_7 -> d_4; + d_6 -> d_32 [label="2"]; + d_9 -> d_2; + d_34 -> d_7; + d_13 -> d_31; + d_17 -> d_34; + d_34 -> d_2 [label="3"]; + d_0 -> d_16; + d_34 -> d_32 [label="2"]; + d_7 -> d_3; + d_34 -> d_35; + d_36 -> d_37; + d_36 -> d_2; + d_17 -> d_6; + d_16 -> d_36; + d_17 -> d_3; + d_34 -> d_38 [label="2"]; + d_17 -> d_21; + d_4 -> d_32 [label="2"]; + d_36 -> d_17; + d_19 -> d_38; + d_32 -> d_13; + d_17 -> d_9 [label="2"]; + d_2 -> d_34; + d_36 -> d_7 [label="2"]; + d_36 -> d_38 [label="2"]; + d_19 -> d_16; + d_39 -> d_17; + d_13 -> d_32 [label="2"]; + d_38 -> d_21 [label="2"]; + d_40 -> d_32; + d_3 -> d_17; + d_36 -> d_16 [label="2"]; + d_0 -> d_2; + d_36 -> d_41 [label="2"]; + d_42 -> d_16; + d_13 -> d_41; +} diff --git a/standings.png b/standings.png new file mode 100644 index 0000000..edcb583 Binary files /dev/null and b/standings.png differ