11.07.2015 Views

versión color - PET: Python Entre Todos - Python Argentina

versión color - PET: Python Entre Todos - Python Argentina

versión color - PET: Python Entre Todos - Python Argentina

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Factura electrónica en <strong>Python</strong>: 55• PySimpleSoap (http://pysimplesoap.googlecode.com/): para manejo simple ycompleto de webservices• PyFPDF (http://pyfpdf.googlecode.com/): para generación de PDF de maneramás fácil y fluida.Ambas han sido integradas a web2py (http://www.web2py.com) para tener un marcode trabajo completo para desarrollar aplicaciones web de gestión.Factura electrónica en <strong>Python</strong>:A modo de ejemplo, vamos a mostrar un como autorizar una factura electrónica enpocas líneas.Primero se debe solicitar un ticket de acceso (utilizando un certificado y clave privadatramitadas previamente), que nos permitirá posteriormente utilizar el servicio web defactura electrónica:from pyafip.ws import wsaa# crear ticket acceso, firmarlo y llamar al wstra = wsaa.create_tra()cms = wsaa.sign_tra(tra, "homo.crt", "homo.key")ta_xml = call_wsaa(cms, wsaa.WSAAURL)Detrás de escena se usa M2Crypto (que es el enlace de OpenSSL para encriptaciónen <strong>Python</strong>), necesario para firmar la solicitud de acceso en XML.Del ticket de acceso extraemos el Token y Sign (usando SimpleXMLElement paraanalizar y convertir el XML en una estructura de objetos y datos python), quecontienen los códigos de seguridad requeridos en los otros webservices:# procesar el xmlta = SimpleXMLElement(ta_xml)token = str(ta.credentials.token)sign = str(ta.credentials.sign)Una vez obtenida la autenticación para acceder a los servicios web, vamos a procedera solicitar autorización para emitir una factura electrónica.Para ello creamos una conexión con el servidor y llamamos remotamente alprocedimiento de autorización:{footer} — http://revista.python.org.ar

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!