[cpif] r254 - trunk/backend
svn at argo.es
svn at argo.es
Tue Jul 10 12:35:52 CEST 2007
Author: jcea
Date: Tue Jul 10 12:35:51 2007
New Revision: 254
Log:
Evitamos escrituras espureas en el sistema
de persistencia, innecesarias.
Modified:
trunk/backend/database.py
Modified: trunk/backend/database.py
==============================================================================
--- trunk/backend/database.py (original)
+++ trunk/backend/database.py Tue Jul 10 12:35:51 2007
@@ -345,16 +345,18 @@
def actualiza_no_leidos(conn,usuario) :
root=conn.get_root()
+ global_last=root["mensajes"]["num_mensajes"]
if not usuario : # Acceso anonimo. Nos encargamos de que nada salga como "no leido"
usuario=root["usuarios"]["usuarios"][usuario]
- last=root["mensajes"]["num_mensajes"]
- if usuario["ultimo mensaje conocido"]!=last :
- usuario["ultimo mensaje conocido"]=last
+ if usuario["ultimo mensaje conocido"]!=global_last :
+ usuario["ultimo mensaje conocido"]=global_last
return
- punto_de_lectura_global=root["punto_de_lectura_global"]
usuario=root["usuarios"]["usuarios"][normaliza_nick(usuario)]
l=usuario["ultimo mensaje conocido"]
+ if l==global_last : return # No hay nada nuevo
+
+ punto_de_lectura_global=root["punto_de_lectura_global"]
posicion_hilos_no_leidos=dict(usuario["punto de lectura no leidos"])
posicion_hilos=usuario["punto de lectura"]
@@ -371,7 +373,7 @@
ultimo=h["mensajes"].items_from(ultimo,closed=False).next()[0]
for metatag in h["metatags"] :
posicion_hilos_no_leidos[metatag][hilo]=ultimo
- usuario["ultimo mensaje conocido"]=root["mensajes"]["num_mensajes"]
+ usuario["ultimo mensaje conocido"]=global_last
def listado_hilos_personal(conn,usuario,ts,ts2,metatag) :
root=conn.get_root()
More information about the cpif
mailing list