Programa para comprobar el estado de la devolución de la renta



~/usr/src/Python/irpf.py.html



#!/usr/bin/python2.1
""" Programa para comprobar el estado de la devolución del irpf'2002

Hay que configurar, al menos, las variables: NIF, EUROS y CENTS para que
funcione. Además, opcionalmente, configurar FROM, SERVIDORSMTP, si
deseamos que el resultado devuelto por el servidor se nos envíe por correo
electrónico a donde queramos. Si dejamos estas variables sin configurar, se
guardará el resultado devuelto por el servidor en un fichero llamado
irpf.html
"""

import urllib2,re

################### CAMBIAR AQUÍ, SI QUIERE CONFIGURAR EL PROGRAMA ######## 
# Datos para identificar la declaración. Obligatorio ponerlos.
# Cuidado, en la página web han decidido separar euros y céntimos.
NIF=''
EUROS=''
CENTS=''

# Datos para configurar el envío del mensaje de correo. Opcionales.
# Si se deja alguno de los datos vacío (sin configurar), no se enviará por
# correo, sino que se se guardará el fichero irpf.html devuelto por el
# servidor
FROM = 'Que viene hacienda aeat@aeat.es'
TO = ''
SERVIDORSMTP = 'localhost'

# A partir de aquí NO MODIFICAR sin conocimiento de lo que se hace
##########################################################################

# La URL del POST
URL='https://aeat.es/PROGCONV/CWBA/PROGLOGI/'

# Los parámetros.
if NIF=='':
    NIF=raw_input('NIF: ')
if EUROS=='':
    EUROS=raw_input('EUROS (los céntimos luego) ')
if CENTS=='':
    CENTS=raw_input('CENTIMOS (¿lo ven?) ')

parametros='HID=DEVOLUGE&NIF='+NIF+'&IMP='+EUROS+'&IMD='+CENTS

# Solicitamos los datos al servidor.
f = urllib2.urlopen(URL, parametros)


if ((FROM != '') and (TO != '') and (SERVIDORSMTP != '')):
        # Ahora construimos el mensaje de correo electrónico
        # Lamentablemente el https no funciona con mi python2.2 así que hay
        # Ahora construimos el mensaje de correo electrónico
        # Lamentablemente el https no funciona con mi python2.2 así que hay
        # que construirse el mensaje a mano, sin poder usar email, que es
        # nuevo en python2.2.

        import smtplib
        import MimeWriter
        import mimetools
        import time
        import StringIO
        import cStringIO

        fecha = time.asctime(time.localtime(time.time()))
        # Construcción del mensaje
        textoMensaje = cStringIO.StringIO(f.read())

        mensaje = StringIO.StringIO()
        generador=MimeWriter.MimeWriter(mensaje)
        generador.addheader('From',FROM)
        generador.addheader('Subject',"Estado de la devolución")
        generador.addheader('Date',fecha)
        generador.addheader('MIME-Version:',' 1.0\n')
        generador.startmultipartbody("mixed")

        parte = generador.nextpart()
        tipo="text/html"
        codificacion = "none"
        parte.addheader("Content-transfer-encoding","base64")
        codificacion = "none"
        parte.addheader("Content-transfer-encoding","base64")
        pout = parte.startbody(tipo, 

URL,''

) mimetools.encode(textoMensaje,pout,'base64') generador.lastpart() fromaddr = FROM toaddrs = TO server = smtplib.SMTP() server.connect(SERVIDORSMTP) server.sendmail(fromaddr, toaddrs, mensaje.getvalue()) server.quit() else: fSal = open ('irpf.html', 'w') fSal.write(f.read())



<Junio 2025
Lu Ma Mi Ju Vi Sa Do
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30