gnumed-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnumed-devel] further testing / bugs


From: Karsten Hilbert
Subject: Re: [Gnumed-devel] further testing / bugs
Date: Tue, 9 Aug 2005 21:11:16 +0200
User-agent: Mutt/1.5.9i

On Tue, Aug 09, 2005 at 08:47:45PM +0200, Hilmar Berger wrote:

> If this is true, why line A gets executed in the very moment that 
> get_episodes called by line B (from EMR tree widget) ???
If you are saying that calling get_episodes() somehow
*triggers* a call to _db_callback_episodes_modified()
then I don't know why. If that's not what you are saying
I don't understand what you are saying.

This is what is intended:

=> gmBackendListener receives NOTIFY from clin_episode
=> gmBackendListener invokes registered callback:
>         def _db_callback_episodes_modified(self):

=> callback deletes cache if cache exists
>                 try:                                                          
>                                         
> A                        del self.__db_cache['episodes']                      
>                                          
>                 except KeyError:                                              
>                                         
>                         pass                                                  
>                                         
>                 try:                                                          
>                                         
>                         del self.__db_cache['problems']                       
>                                         
>                 except KeyError:                                              
>                                         
>                         pass                                                  
>                                         

=> callback notifies frontend (UI) code that backend cache
   has changed and hence frontend should update itself
> B                gmDispatcher.send(signal = gmSignals.episodes_modified(), 
> sender = self.__class__.__name__)
>                 return 1                                                      
>                                         

This is a two-legs system:

 DB = signal => middleware = signal => frontend

Karsten
-- 
GPG key ID E4071346 @ wwwkeys.pgp.net
E167 67FD A291 2BEA 73BD  4537 78B9 A9F9 E407 1346




reply via email to

[Prev in Thread] Current Thread [Next in Thread]