X-Git-Url: https://www.nos-oignons.net/gitweb/website.git/blobdiff_plain/e9c8b520ff01253077fdbae81bb5b93c0480e657..50cd0d282feac1e57750fbb841921298d0ae879a:/assets/relays.js diff --git a/assets/relays.js b/assets/relays.js index 06ff5e7..2ce5ba1 100644 --- a/assets/relays.js +++ b/assets/relays.js @@ -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 || []; +}