Rakkaat! Muistatteko kun edellisellä joululomalla, siis vuonna 2019, tissuttelin portviiniä, katselin Koivisto-dokumenttejä Areenasta ja aikani kuluksi kirjoittelin VälihuutoBot:n? Noh, siitä asti on ajatus ollut siinä, että Eduskunnan avoimen datan apeista voisi kaivella jotain uusia hassutteluja. Edustajien tekosethan ylittävät uutiskynnyksen vain murto-osassa kaikesta siitä, mitä Eduskunnassa tehdään. Demokratian kannalta kuitenkin kansalaisen ajantasainen ymmärrys siitä, mitä Eduskunta tekee, on valtavan tärkeää. Tärkein vastuu Eduskunnalla ja kansanedustajilla on toki lainsäädäntötyö ja senpä takia ajattelinkin yhden pienen hassuttelubotin verran yrittää tehdä tuota työtä näkyväksi.
Tällä joululomalla en ehtinyt ihan niin paljon tissut..koodata, johtuen tuosta meidän vajaa vuoden ikäisestä ilopilleristä. Aina silloin tällöin olen kuitenkin rivin sinne tahi tänne ehtinyt tekemään. Halusin myös kokeilla dynamoa ja sqs-juttusia jollain kevyellä sovelluksella.
Ajatus on, että poimin äänestyksiä eduskunnan tietokannasta (tai siis rajapinnasta, joka kaivaa sitä kantaa), otan satunnaisen edustajan väliltä 1-200 ja twiittaan hänen äänestyksensä (jaa/ei/tyhjä/poissa). Eipä tuo kamalasti valoon tuota edustajien työtä tuo, mutta ainakin hieman. Useinhan tuolla äänestetään kamalan paljon samalla pääluokalla, joten olen silleen tehnyt bottia mielenkiintoisemmaksi, ettei se twiittaa kymmeniä kertoja samaa “Pääluokka 29 Opetus- ja kulttuuriministeriön hallinnonala” -äänestyskohtaa. Botti siis vertailee tekstiä edelliseen twiitattuun ja jos kyseessä on äänestyskohdan mukaan ihan sama teksti (vaikka alikohta olisikin eri), hypätään tuon äänestyksen yli.

Nuo linkit noihin äänestystuloksiin toimivat tuskallisen hitaasti, luulen, että tuossa tehdään aika monta (tai hidasta) tietokantahakua ja siinä frontissakin rakennetaan tuota äänestyssivua tovi. Sieltä se tulossivu jaa/ei/tyhjiä/poissa – graafeineen kyllä aukeaa, kun vaan malttaa odotella. Ja kyllähän me demokratian tähden maltamme!
Teknisellä tasolla homma toimii kahdella lambdalla niin, että toinen käy kaivamassa fifo-jonoon tietystä aloitus-id:stä lähtien äänestyksiä ja toinen sitten hakee siitä jonosta ja twiittaa.

Eduskunnan äänestyksiä on kannassa vajaa 50 000 ja jokaisella äänestyksellä on oma id. Sellaista rajapintaa tai feedia ei ole, josta saisi uusimmat äänestykset, mutta rajapinnasta sai kuitenkin kyseltyä suurimman arvon ja aloittelin sitten siitä vähän aiemmasta eli tuolta syksyltä.
Mikäli koodit kiinnostelevat, niin tuo clojurekoodi, mistä nuo lambdat sitten pyöräytellään, löytyypi täältä.