El modulo pubsub te sirve, pero igual es mejor que empieces por el principio: usar los eventos de wx, igual que manejarias un click de raton.

Primero creas un nuevo identificador de evento, y un evento wx personalizado, que puede llevar incluidos datos si quieres:

EVT_TABLA_MODIFICADA = wx.NewId()

class EventoDatos(wx.PyEvent):
    def __init__(self, datos, evt=EVT_TABLA_MODIFICADA):
        wx.PyEvent.__init__(self)
        self.SetEventType(evt)
        self.datos = datos

Ahora, en el __init__ de TU_FRAME, conectas este tipo de evento a un metodo:

        self.Connect(-1, -1, EVT_TABLA_MODIFICADA, self.actualizar_datos)

Y a partir de ahi, cada vez que llames a un wx.PostEvent(TU_FRAME, EventoDatos(los_datos)), lo recibe este metodo de TU_FRAME:

    def actualizar_datos(self, event=None):
        data = event.data

De hecho, este deberia ser el único que rellena tu widget, desde la primera vez (que pasas de cero datos a un monton, lo que lanza el evento)

Luego tienes por ahi código que se encarga de vigilar la tabla, que puede ser tambien un Thread separado (o no), por ejemplo:

class VigilaDatos(threading.Thread):
    def __init__(self, function):
        self.sleep = 30
        threading.Thread.__init__(self)
        self.running = True
        self.start()

    def run(self):
        while self.running:
            self.mira_la_tabla()
            time.sleep(self.sleep)

    def stop(self):
        self.running = False

    def mira_la_tabla(self):
    if la_tabla_cambia:
            wx.PostEvent(TU_FRAME, EventoDatos(los_datos))

Como no puedes tener una señal desde el otro programa que modifica la tabla (ahi entraria el modulo signals, para que te comunicara el evento entre programas), tendras que decidir cuanto tiempo esperas para comprobar si la tabla ha cambiado, pero cada 30 segundos tampoco va a consumir mucho por que cuentes los registros, y sólo cuando cambien disparas el evento.

Suerte.



El 20/06/2013 21:17, Hiram escribió:
Muchas gracias por sus respuestas en el transcurso del día estaré leyendo sobre lo que mencionan Txema y Eduard, Juan Ignacio la otra aplicación no esta escrita en Python, esta escrita en Java.

Alvaro y Enrique lo que mencionas lo había pensado, pero al no conocer el tiempo de llegada del nuevo registro, siento que consumiría algo de recursos estar consultando la tabla cada X tiempo, ya que como mencione los registros pueden tardar un minuto dos hasta varias horas aun así volveré a analizar sus respuestas.

De ante mano muchas gracias a todos.


2013/6/20 Enrique Fernandez <en_fernan...@yahoo.com.ar <mailto:en_fernan...@yahoo.com.ar>>

    Yo, con un timer que consulte la cantidad de registros

    select count(*) from ....

    Saludos
    Enrique Fernandez


    El 20/06/2013 07:52 a.m., Alvaro Manrique escribió:

    Yo lo haría como un timer.

    Que cada cierto tiempo ejecute la consulta y muestre los datos
    del último alumno.

    -----------------------------
    Alvaro Manrique
    Programador
    Skype: alvaro_manrique
    Twitter: @AJ_Manrique
    Venezuela
    -----------------------------

    El 20/06/2013 05:33, "Juan Ignacio" <euriba...@gmail.com
    <mailto:euriba...@gmail.com>> escribió:

        > Ahora supongamos que la tabla alumnos es poblada por alguna
        otra
        > aplicación cada cierto tiempo

        Esa otra aplicación ¿Está escrita en Python? ¿Es modificable?
        _______________________________________________
        Python-es mailing list
        Python-es@python.org <mailto:Python-es@python.org>
        http://mail.python.org/mailman/listinfo/python-es
        FAQ: http://python-es-faq.wikidot.com/



    _______________________________________________
    Python-es mailing list
    Python-es@python.org  <mailto:Python-es@python.org>
    http://mail.python.org/mailman/listinfo/python-es
    FAQ:http://python-es-faq.wikidot.com/


    _______________________________________________
    Python-es mailing list
    Python-es@python.org <mailto:Python-es@python.org>
    http://mail.python.org/mailman/listinfo/python-es
    FAQ: http://python-es-faq.wikidot.com/




--
            Hiram Zuñiga Romero
                   blog: http://lam-h.blogspot.com/
                   mail: hiram...@gmail.com <mailto:hiram...@gmail.com>
mailwork: hi...@cenidet.edu.mx <mailto:hi...@cenidet.edu.mx>



_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a