venerdì 26 novembre 2010

Python Trick: verificare che una funzione sollevi un eccezione

Ciao!
Il Python ha una libreria standard vastissima, che ci mette a disposizione una libreria di unittest.

Volevo oggi consigliarvi un piccolo trucco che potete utilizzare nei vostri programmi:
andiamo a testare il sollevamento di un'eccezione.

Il pitone, se gli diciamo di eseguire questa riga di codice
print int("x")
ci risponde con un bell'errore (e ha anche ragione!)

Traceback (most recent call last):
  File "", line 1, in
    print int("x")
ValueError: invalid literal for int() with base 10: 'x'


Se noi volessimo testare questo comportamento in un unittest, scriveremmo
import unittest
class Test(unittest.TestCase):
  def test_foo(self):
      self.assertRaises(ValueError, lambda: int("x"))


E il test è passato!

Alla prossima!

Siti:
domanda su stackoverflow
docs ufficiale Python (2.6.6)

sabato 13 novembre 2010

L'AgCom si prepara a bloccare i "pirati". :D

Ecco un articolo su Wired.it che parla di una nuova norma proposta dell'AgCom, che servirebbe a ridurre il fenomeno della pirateria.

Interessante, ma ora parliamo dei modi:

1)Oscuramento dei siti, blocco dello streaming o rimozione dei contenuti collegati ad attività pirata, a fronte di segnalazioni, direttamente chiedendolo ai provider e/o al gestore del sito. Mentre ora si passa per forza dall’Autorità giudiziaria. Per la prima volta, verrebbero colpiti allo stesso modo i siti che fanno anche solo indicizzazione dei file.

Oscureranno Megavideo, Megaupload, Rapidshare, Youtube,  Vimeo e niifiles? Ma non fatemi ridere...

2) Chiusura delle porte usate dagli utenti per il P2P.

Ok, scaricherete molto lentamente. Mmm... è ora di passare al SOFTWARE LIBERO?

Il problema è l'ostinazione degli utenti a voler utilizzare software commerciale e non Open Source.
  • Volete Office? Usate OpenOffice.org! L'interfaccia utente di Office 2007 è una cosa inutile, OpenOffice è molto più simile a Office 2003, ma ha le stesse funzioni del 2007!
  • Volete Photoshop? Usate GIMP! E' semplicemente il massimo per le manipolazioni di immagini!
  • Volete Windows? Usate Linux! (*)
  • Volete 3DStudio Max? Usate Blender!
  • Vuoi ascoltare musica? Ma ascolta una bella web radio!
Allora, ci farete un pensierino al mondo Open Source? (e ricorda, gratis, compatibile anche con formati proprietari, utilizzabile senza problemi nel mondo del lavoro, avranno meno crash... meglio di quello schifo che usi adesso che hai bisogno di un i7 per aprire Word2007!)