Don’t Panic!


Salve ragazzi,
c’è una ristretta (ma neanche tanto) cerchia di persone, che rispondono al nome di studenti universitari, che ogni mese, dopo aver sostenuto gli n-mila esami del caso, attendono con trepidazione l’uscita dei risultati.
Molti docenti pubblicano gli esiti degli esami sul loro sito, che il più delle volte è spartano ma funzionale…
Quante volte siete stati a fare “refresh” sul sito aspettando l’uscita dei risultati?
Per voi (e per me) ho creato questo semplicissimo script che controlla, ad intervalli regolari, che una pagina web sia stata aggiornata.. comodo no?
Ovviamente si può migliorare, ad esempio gestendo un log di ultime modifiche, in modo che il programma tenga lo storico!
Nota: Non funziona su siti con strutture complesse, tipo cgi based e company
Ecco il codice:

# Don't Panic! - Scritto da Alfredo Di Napoli - 2009

import urllib
import sys
import re
import time

try:
   
    sito = urllib.urlopen(sys.argv[1])
   
except IOError:
   
    print "Indirizzo non valido o irraggiungibile."
    sys.exit(1)
   
current = re.search("Last-Modified.*\r",sito.info().__str__()).group(0)
ultima_modifica = current

print "Don't Panic - v_0.1\n"
try:
   
    while current == ultima_modifica:
        exp = re.search("Last-Modified.*\r",sito.info().__str__())
        ultima_modifica = str(exp.group(0))
        print ultima_modifica
        time.sleep(10)
     
    print "C'e' stata una modifica!"   
except KeyboardInterrupt:
    print "Grazie per aver usato Don't Panic."

Spero lo troviate utile, anzi, fatemi sapere se vi ha funzionato visto che l’ho codato 

in 10 minuti e oltretutto a casa mia era andata via la corrente 😛

Usage: python dont_panic.py url_sito

2 thoughts on “Don’t Panic!

  1. Sicuro che con Last Modified sei sempre al corrente degli aggiornamenti del sito web?

    Io ne ho implementato uno simile, dalla stessa semantica, ma implementato in maniera diversa.

    Calcolo l’hash della pagina cui il modulo punta e dopo tot. secondi lo ricalcolo: se i due hash sono diversi c’è stata una modifica 😉

    Ciao e in bocca al lupo per gli esami!

    • Ciao ennio 😉
      In realtà funziona solo sui siti pure html, ovvero senza componenti dinamici…
      Anzi, poi mi sono accorto che in realtà è buggato perchè deve fare SEMPRE il read del sito perchè altrimenti non si accorge delle modifiche 😀 😀
      ubuntu_of_fortune mi aveva parlato di un moduletto simile che avevate implementato, sono sicuro sia molto interessante!
      Crepi il lupo e in bocca al lupo per lo studio/carriera 😀
      Ciao!

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...