[cpif] r102 - trunk/backend
svn at argo.es
svn at argo.es
Thu May 24 19:32:18 CEST 2007
Author: jcea
Date: Thu May 24 19:32:18 2007
New Revision: 102
Log:
Ahora que paginamos los mensajes de un hilo, ya no basta
con entrar en un hilo para marcarlo como leido. Tenemos
que asegurarnos de que hemos visto el ultimo mensaje.
Modified:
trunk/backend/database.py
Modified: trunk/backend/database.py
==============================================================================
--- trunk/backend/database.py (original)
+++ trunk/backend/database.py Thu May 24 19:32:18 2007
@@ -231,21 +231,26 @@
"TS creacion":hilo["TS creacion"]}
u=root["usuarios"]["usuarios"][normaliza_nick(usuario)]
- if hilo_num in u["punto de lectura no leidos"] :
- del u["punto de lectura no leidos"][hilo_num]
- u["punto de lectura"][hilo_num]=hilo["mensajes"].get_max_item()[0]
mensajes=[]
i=thread_len
pr=hilo["numeros"].get(primer_mensaje,None)
if not pr : return None,None,None
for msg_num,msg in hilo["mensajes"].items_from(pr) :
- msg=msg[1]
+ posicion,msg=msg
mensajes.append((msg_num,msg["autor"],msg["TS"],msg["texto"]))
i-=1
if not i : break
- return (meta,mensajes,primer_mensaje+thread_len>hilo["num_mensajes"])
+ finished=posicion>=hilo["num_mensajes"]
+ if u["punto de lectura"][hilo_num]<msg_num :
+ u["punto de lectura"][hilo_num]=msg_num
+ nl=u["punto de lectura no leidos"].get(hilo_num)
+ if nl and (nl<=msg_num) :
+ if finished : del u["punto de lectura no leidos"][hilo_num]
+ else : u["punto de lectura no leidos"][hilo_num]=msg_num
+
+ return (meta,mensajes,finished)
# Marcamos como leidos los hilos que estamos
# viendo en pantalla. Si hay mensajes adicionales
More information about the cpif
mailing list