Differenze tra le versioni di "Contalike"
(Creata pagina con 'Su un noto social network esiste una pagina di una rivista chiamata ''Fumetti Disegnati Male''. Su ''Fumetti Disegnati Male'' si fa molta ironia alla "corsa ai like" e quando ...') |
|||
Riga 4: | Riga 4: | ||
[[File:Likewatch.JPG]] | [[File:Likewatch.JPG]] | ||
− | ''The likes must flow'' | + | |
+ | "''The likes must flow''" | ||
Il funzionamento è molto semplice: un Raspberry Pi collegato a internet, una resistenza (consigliati 270Ω) collegata alla terra, e due LED (possibilmente uno verde e uno rosso). Gli anodi (+) dei LED vanno collegati a due uscite della GPIO del Rasbperry Pi. | Il funzionamento è molto semplice: un Raspberry Pi collegato a internet, una resistenza (consigliati 270Ω) collegata alla terra, e due LED (possibilmente uno verde e uno rosso). Gli anodi (+) dei LED vanno collegati a due uscite della GPIO del Rasbperry Pi. | ||
Riga 65: | Riga 66: | ||
Il Contalikes è -tutto sommato- un'invenzione '''completamente inutile'''. | Il Contalikes è -tutto sommato- un'invenzione '''completamente inutile'''. | ||
+ | |||
+ | ''I am the one who likes!'' |
Versione delle 18:50, 8 nov 2014
Su un noto social network esiste una pagina di una rivista chiamata Fumetti Disegnati Male. Su Fumetti Disegnati Male si fa molta ironia alla "corsa ai like" e quando si perde un like di solito ci sono scene strappalacrime o feroci e irripetibili insulti verso chi ha tolto il like. Visto però che la pagina è estremamente popolare, come fare a capire quando si perde un like prima che ne arrivi uno nuovo? Sì, c'è la pagina delle statistiche, ma non è che si può controllare ogni cinque minuti, ché poi il tasto F5 si cancella.
A questo proposito ci viene incontro il Contalike!
"The likes must flow"
Il funzionamento è molto semplice: un Raspberry Pi collegato a internet, una resistenza (consigliati 270Ω) collegata alla terra, e due LED (possibilmente uno verde e uno rosso). Gli anodi (+) dei LED vanno collegati a due uscite della GPIO del Rasbperry Pi.
Il codice
#!/usr/bin/env python import urllib from xml.dom import minidom import time import wiringpi import signal def uscitore(signal,frame): print "\nexiting..." exit() def blinkings(npin,nbl): while (nbl > 0): led.digitalWrite(npin,1) time.sleep(0.5) led.digitalWrite(npin,0) time.sleep(0.5) nbl -=1 signal.signal(signal.SIGINT, uscitore) fburl = "https://api.<NOME DEL SOCIAL NETWORK FAMOSO>.com/method/fql.query?query=select%20%20like_count%20from%20link_stat%20where%20url=%22https://www.<NOME DEL SOCIAL NETWORK FAMOSO>.com/fumettidisegnatimale%22" pause = 5 num_likes = 0 old_likes = 0 led = wiringpi.GPIO(wiringpi.GPIO.WPI_MODE_PINS) led.pinMode(10,led.OUTPUT) led.pinMode(11,led.OUTPUT) gpin = 10 rpin = 11 blinks = 0 while ( True ): try: dom = minidom.parse(urllib.urlopen(fburl)) num_likes = int(dom.getElementsByTagName('like_count')[0].childNodes[0].nodeValue) except (IOError),e: time.sleep(5) continue if old_likes != 0: if num_likes > old_likes: print "abbiamo guadagnato un like" blinks = num_likes - old_likes blinkings(gpin,blinks) elif old_likes > num_likes: print "abbiamo perso un like" blinks = old_likes - num_likes blinkings(rpin,blinks) old_likes = num_likes time.sleep(pause)
Questo famiger.. aheh.. famoso social network fornisce delle api per fare diverse cose. Una di queste è restituire un XML con il numero di likes di una pagina. L'indirizzo dove recuperare questa informazione è memorizzato nella variabile fburl. La variabile pause è l'intervallo in secondi che distanzia il controllo dei likes mentre gpin e rpin sono i pin del LED verde e del LED rosso.
Dopo aver fatto il parse dell'XML e recuperato il numero dei likes (se la connessione non va allora intercetta IOError e ricomincia) compara questo valore con il valore precedente. Se è calato allora abbiamo perso un like e fa lampeggiare il LED rosso, se è cresciuto allora evviva! Abbiamo guadagnato un like! E quindi lampeggia il LED verde. Più likes si sono guadagnati durante l'intervallo pause, più lampeggi produce. Suggerimenti per migliorare 'sta roba: al posto dei LED mettere qualsiasi cosa (proprio qualsiasi! tipo che vi fa partire la lavatrice!).
Il Contalikes è -tutto sommato- un'invenzione completamente inutile.
I am the one who likes!