]> nos-oignons.net Git - website.git/blobdiff - assets/relays.js
Les graphs sont maintenant groupés par noms!
[website.git] / assets / relays.js
index 06ff5e7c50512604c9c62f8aacb3236ffc829536..2ce5ba1083303f151bad16225c0435f855e5ce43 100644 (file)
@@ -11,7 +11,88 @@ function randomColor() {
 }
 
 var nos_oignons_relays = [
-       { name: "elenagb4",
+       { name: "marcuse1",
+               fingerprint: "A319D6447B2B4107477E126EE4A2B7C38125149E",
+               color: randomColor(),
+       }, { name: "marcuse2",
+               fingerprint: "05A48DCB220236FCCA21B432C3D4A1FCE8AFCEEB",
+               color: randomColor(),
+       }, { name: "marcuse3",
+               fingerprint: "E2DA7E67DFC30B19C50F2957C0AAFD226143D7C8",
+               color: randomColor(),
+       }, { name: "marcuse4",
+               fingerprint: "CFAB19E23290F5BA1F7FF24494D26FBD4E4DF6CE",
+               color: randomColor(),
+       }, { name: "marcuse5",
+               fingerprint: "D881FA3C5A642541932ACED4A3C5140742096D11",
+               color: randomColor(),
+       }, { name: "marcuse6",
+               fingerprint: "5409FECC2C4B59D4573AAE935BE31C5675E81431",
+               color: randomColor(),
+       }, { name: "marcuse7",
+               fingerprint: "EFF127FA3E850B17BF9A980AFB010A172F6C6FAF",
+               color: randomColor(),
+       }, { name: "marcuse8",
+               fingerprint: "44D1929690CF1DEF95C5D1F4F66281CF18311618",
+               color: randomColor(),
+       }, { name: "marcuse9",
+               fingerprint: "196C05BF08CC248EE563B49D36CAC89793AFBC5E",
+               color: randomColor(),
+       }, { name: "marcuse10",
+               fingerprint: "16E09CB06617A7215885B6C7C8436B1F8D07960F",
+               color: randomColor(),
+       }, { name: "marcuse11",
+               fingerprint: "11C7F8EEEE7445618DD7DE562F7D1218B5DB4B2E",
+               color: randomColor(),
+       }, { name: "marcuse12",
+               fingerprint: "746FDA7D7F633FF88BF735416A42E472D630D868",
+               color: randomColor(),
+       }, { name: "marcuse13",
+               fingerprint: "78AD6EAF6904E777103629D6579766DB6466AA3E",
+               color: randomColor(),
+       }, { name: "marcuse14",
+               fingerprint: "B8348F1E967D9A432F2D03E572DEF76FB25F04D3",
+               color: randomColor(),
+       }, { name: "marcuse15",
+               fingerprint: "65935A863C1652AFD7A8FDB7C5D1ACCF562E2BFD",
+               color: randomColor(),
+       }, { name: "marcuse16",
+               fingerprint: "F2A0F204670965A947A1AE5E2867C752E714032F",
+               color: randomColor(),
+       }, { name: "marylou1",
+               fingerprint: "578E007E5E4535FBFEF7758D8587B07B4C8C5D06",
+               color: randomColor(),
+       }, { name: "marylou2",
+               fingerprint: "90FD830C357A5109AB3C505287713F1AC811174C",
+               color: randomColor(),
+       }, { name: "marylou3",
+               fingerprint: "91B7A9659CDB5ACF0DEB46DAA82C122C39CC4ADF",
+               color: randomColor(),
+       }, { name: "marylou4",
+               fingerprint: "4F0C498701A41F4D9CA677EA763FD8CA45348E97",
+               color: randomColor(),
+       }, { name: "AlGrothendieck1",
+               fingerprint: "47EC4211A4A66768224BC18912AF8FB6E880003C",
+               color: randomColor(),
+       }, { name: "AlGrothendieck2",
+               fingerprint: "59F2831A9BEB7AB3D5803445F946EA9FEEEFA217",
+               color: randomColor(),
+       }, { name: "AlGrothendieck3",
+               fingerprint: "042944E139508E6A8495AA1F6F320D1087D84930",
+               color: randomColor(),
+       }, { name: "AlGrothendieck4",
+               fingerprint: "37C984BB069C29573FB8F9F6C610DC14763B5305",
+               color: randomColor(),
+       }, { name: "elenagb1",
+               fingerprint: "4B8F0F8BB18F1D9ADC1FE7E54B3D3D605C1919A7",
+               color: randomColor(),
+       }, { name: "elenagb2",
+               fingerprint: "CBCA0D732C95AF4F6A37DCCC4879105E426B80C9",
+               color: randomColor(),
+       }, { name: "elenagb3",
+               fingerprint: "324053C8A296BF31A4A908CB407545DA92DF32F8",
+               color: randomColor(),
+       }, { name: "elenagb4",
                fingerprint: "4A39E7D2C121F664CFD9B5DF80CE9E70BB8B3C16",
                color: randomColor(),
        }, { name: "mwittig1",
@@ -94,3 +175,46 @@ var nos_oignons_relays = [
                color: randomColor(),
        }
 ];
+
+var nos_oignons_group_colors = [
+       "#DB4782", "#DAA03B", "#62A4B7", "#A58585",
+       "#9DCEB8", "#8077DE", "#DE5C48"
+];
+
+var nos_oignons_groups = (function() {
+       var groups = [];
+       var seen = {};
+       nos_oignons_relays.forEach(function(r) {
+               var name = r.name.replace(/\d+$/, '');
+               if (!seen[name]) {
+                       seen[name] = { name: name, fingerprints: [] };
+                       groups.push(seen[name]);
+               }
+               seen[name].fingerprints.push(r.fingerprint);
+       });
+       groups.forEach(function(g, i) {
+               g.color = nos_oignons_group_colors[i % nos_oignons_group_colors.length];
+       });
+       return groups;
+})();
+
+function buildRelayIndex(raw_relays) {
+       var index = {};
+       raw_relays.forEach(function(r) { index[r.fingerprint] = r; });
+       return index;
+}
+
+function sumGroupRelayValues(group, relayIndex, extractFn) {
+       var result = null;
+       group.fingerprints.forEach(function(fp) {
+               var relay = relayIndex[fp];
+               if (!relay) return;
+               var values = extractFn(relay);
+               if (!result) {
+                       result = values.map(function(d) { return { date: d.date, y: d.y }; });
+               } else {
+                       values.forEach(function(d, i) { result[i].y += d.y; });
+               }
+       });
+       return result || [];
+}