from libdesklets.controls import Control, Interface, Permission
import httplib
import re

class ITuxHablador(Interface):
    dibujo = Permission.READ
    texto = Permission.READ

class TuxHablador(Control,ITuxHablador):

    def __init__(self):
        Control.__init__(self)

    def __get_dibujo(self):
        con = httplib.HTTPConnection("upload.wikimedia.org")
        con.request("GET","/wikipedia/commons/3/35/Tux.svg")
        r = con.getresponse()
        dibujo =  r.read()
        con.close()
        return dibujo

    def __get_texto(self):
        con = httplib.HTTPConnection("pagina-del-dia.euroresidentes.es")
        con.request("GET","/refran-del-dia/gadget-refran-del-diaV.php?modo=2")
        r = con.getresponse()
        refran =  r.read()
        con.close()
        return re.search('"Estilo3">([^<]*)</td>',refran).group(1)


    dibujo = property( fget = __get_dibujo , doc = "Devuelve un TUX en SVG")
    texto =  property( fget = __get_texto ,doc = "Devuelve una frase a decir")


def get_class(): return TuxHablador
