Buscar temas sin respuesta | Ver temas activos |

Nuevo tema Responder al tema Índice general » Programación: lo ultimo » Python
Autor Mensaje
Desconectado 
 Asunto: SugarCRM + Python
NotaPublicado: 12 Ago 2011 19:08 
poster a 128 kbps
Avatar de Usuario

Registrado: 22 Nov 2003 23:59
Mensajes: 369
Buenas, gente.

No escribo nunca por acá, siempre ando muy callado. Pero bueno, el post reciente de Browny me inspiró a contribuir algo. No tengo fotos para el thread más largo del foro, así que salió esto, jaja.

Hace un tiempo largo tuve que integrar en una empresa SugarCRM con su sistema de gestión interna, y también desarrollar algunos scripts para automatizar algunos procesos dentro del CRM. Empecé a ver la API en SOAP de sugar para accederla a través de Python, y realmente estaba poco documentada, las interfaces cambiaban a cada rato, y además, a pesar de usar una librería como SOAPpy que te abstrae bastante los detalles, era realmente incómodo manipular las estructuras de datos y lograr programas más o menos legibles.

En aquella época me puse a escribir una capa de abstracción para facilitarme un poco el laburo, y me quedó algo medio
gigantesco y horrible. Pero más o menos funcionaba.

Lo que hice hace poco fue reescribir eso de una forma un poco más legible y más fácil de usar, y pienso ir transformándolo a medida que me de el tiempo en una librería hecha y derecha. Lo que espero es que a alguien en algún momento le sirva y la pueda usar sin demasiadas complicaciones.

La desarrollé usando la versión 6.2 de SugarCRM, y en particular creo que anda con las versiones 2, 3, y 4 de la API. Eventualmente la 'librería' debería fijarse qué versión de la API se usa y adaptarse de acuerdo a eso. Está todavía en desarrollo, tiene la funcionalidad básica, le voy a ir agregando cosas en la medida que me den los tiempos :).


Para que tengan una idea de cómo se ve un programa que interactúa con Sugar usando este módulo, dejo algo de código (Verán que plagié un poquito la sintaxis de los QuerySets de Django :P):

Código:
import sugarcrm

# Un setup basico para conectarse al CRM:
WSDL_URL = 'http://127.0.0.1/sugarcrm/service/v4/soap.php?wsdl'
USERNAME = 'admin'
PASSWORD = 'password'
LDAP_PASSWD = ''
LDAP_IV = ''

instance = sugarcrm.SugarInstance(WSDL_URL, USERNAME, PASSWORD,
                                    ['Contacts', 'Cases'], LDAP_PASSWD, LDAP_IV)

# Una consulta bien generica de los contactos en el CRM
query = instance.modules['Contacts'].query()
for contact in query[:4]:
    print contact['first_name'] + ' ' + contact['last_name']

# Salida:
# Darrin Adger
# Gilbert Adkins
# Maritza Bail
# Morris Balmer


# Como funcionan las relaciones, bien simple:
query = instance.modules['Cases'].query()
case = query[0]
query = instance.modules['Contacts'].query()
query = query.filter(last_name__exact = 'Adger')
contact = query[0]
case.relate(contact)


# Como se realizan cambios a un registro
contact['birthdate'] = '1978-05-10'
contact.save()


Bueno, eso es por ahora un resumen de las cosas que hace. Espero poder ir puliendo el código de a poco. Les dejo un par de links en donde están los ejemplos un poco más desarrollados (http://blog.hash-tag.com.ar/post/875324 ... e-nuestros), y el repositorio de donde pueden bajar el código fuente (>edit< http://luisbarrueco.github.com/sugarcrm.py/).

A lo mejor en un futuro no muy lejano alguien se cruza con este post y le resulta útil!

Saludos!


Última edición por dexterl el 14 Ago 2011 13:37, editado 2 veces en total

Arriba
 Perfil  
 
Desconectado 
 Asunto: Re: SugarCRM + Python
NotaPublicado: 13 Ago 2011 23:27 
/dev/null
Avatar de Usuario

Registrado: 17 Dic 2002 22:44
Mensajes: 1130
Ubicación: Argentina
Aunque no es algo que me sea until en este momento, agradezco tu aporte.

nrm


Arriba
 Perfil  
 
Desconectado 
 Asunto: Re: SugarCRM + Python
NotaPublicado: 13 Ago 2011 23:38 
Avatar de Usuario

Registrado: 15 May 2002 15:09
Mensajes: 23948
Lo voy a revisar

_________________
Lemas de Google:
2004: No ser malvados
2010: No ser malvados es complicado
2013: Fabricamos robots militares


Arriba
 Perfil  
 
Desconectado 
 Asunto: Re: SugarCRM + Python
NotaPublicado: 13 Ago 2011 23:59 
poster a 128 kbps
Avatar de Usuario

Registrado: 22 Nov 2003 23:59
Mensajes: 369
Copado!

Gracias, si algún día les hace falta algo así, es GPL :)


Arriba
 Perfil  
 
Desconectado 
 Asunto: Re: SugarCRM + Python
NotaPublicado: 14 Ago 2011 11:50 
Avatar de Usuario

Registrado: 15 May 2002 15:09
Mensajes: 23948
comenzaste mal, hash tag no funka. Porque no subís el código a github/google code?

_________________
Lemas de Google:
2004: No ser malvados
2010: No ser malvados es complicado
2013: Fabricamos robots militares


Arriba
 Perfil  
 
Desconectado 
 Asunto: Re: SugarCRM + Python
NotaPublicado: 14 Ago 2011 13:34 
poster a 128 kbps
Avatar de Usuario

Registrado: 22 Nov 2003 23:59
Mensajes: 369
dreamtheater escribió:
comenzaste mal, hash tag no funka. Porque no subís el código a github/google code?


jeje, está en github, pasa que puse esto en el medio para poder tener una idea de la cantidad de visitas... en fin, se rrrrrompió :P. Maldito freedns.afraid.org

http://luisbarrueco.github.com/sugarcrm.py/

Muchas gracias por avisar!


Arriba
 Perfil  
 
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 6 mensajes ] 


  Imprimir vista Tema previo | Siguiente tema 

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado


Todos los horarios son UTC - 3 horas


No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Buscar:
Saltar a:  
cron
PC++ Style
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traducción al español por Huan Manwë