[cpif] r297 - in trunk: backend frontend-web
svn at argo.es
svn at argo.es
Fri Jul 27 15:14:10 CEST 2007
Author: jcea
Date: Fri Jul 27 15:14:09 2007
New Revision: 297
Log:
Mas soporte de monitorizacion de hilos y metatags.
Modified:
trunk/backend/database.py
trunk/frontend-web/skins.py
trunk/frontend-web/url_hilo.py
trunk/frontend-web/url_indice.py
Modified: trunk/backend/database.py
==============================================================================
--- trunk/backend/database.py (original)
+++ trunk/backend/database.py Fri Jul 27 15:14:09 2007
@@ -461,22 +461,20 @@
usuario=root["usuarios"]["usuarios"][normaliza_nick(usuario)]
no_leidos=usuario["punto de lectura no leidos"][metatag]
+ monitor_hilos=usuario["monitor hilos"]
resultado=[]
for ts,hilo in root["metatags"]["metatags"][metatag]["TS2hilo"].items_range(ts,ts2) :
hilo_num,hilo=hilo
- if hilo_num in no_leidos :
- resultado.append((hilo_num,hilo["titulo"],True))
- else :
- resultado.append((hilo_num,hilo["titulo"],False))
+ resultado.append((hilo_num,hilo["titulo"],hilo_num in no_leidos,hilo_num in monitor_hilos))
return resultado
def listado_hilo(conn,usuario,hilo_num,primer_mensaje=1) :
root=conn.get_root()
hilo=root["hilos"]["hilos"].get(hilo_num,None)
- if not hilo : return None,None,None,None,None
+ if not hilo : return None,None,None,None,None,None
meta={"titulo":hilo["titulo"],"creador":hilo["creador"],
"TS creacion":hilo["TS creacion"]}
@@ -484,12 +482,13 @@
avatares=root["static"]["avatars"]
usuarios=root["usuarios"]["usuarios"]
u=usuarios[normaliza_nick(usuario)]
+ mon=hilo_num in u["monitor hilos"]
num_mensajes=hilo["num_mensajes"]
mensajes=[]
i=globales.thread_len
pr=hilo["numeros"].get(primer_mensaje,None)
- if not pr : return None,None,None,None,None
+ if not pr : return None,None,None,None,None,None
iterador_mensajes=hilo["mensajes"].items_from(pr)
for msg_num,msg in iterador_mensajes :
posicion,msg=msg
@@ -524,7 +523,7 @@
plnl[hilo_num]=pnl
mt=root["metatags"]["metatags"]
- return (meta,mensajes,num_mensajes,finished,[(i,mt[i]["nombre"]) for i in metatags])
+ return (meta,mensajes,num_mensajes,finished,[(i,mt[i]["nombre"]) for i in metatags],mon)
# Marcamos como leidos los hilos que estamos
# viendo en pantalla. Si hay mensajes adicionales
@@ -546,10 +545,15 @@
def get_metatags(conn,usuario) :
metatags=[]
root=conn.get_root()
- plnl=root["usuarios"]["usuarios"][normaliza_nick(usuario)]["punto de lectura no leidos"]
+ u=root["usuarios"]["usuarios"][normaliza_nick(usuario)]
+ plnl=u["punto de lectura no leidos"]
+ monitor_metatags=u["monitor metatags"]
for i,j in root["metatags"]["metatags"].iteritems() :
plnl2=plnl.get(i)
if plnl2!=None :
- metatags.append((i,j["nombre"], True if plnl2 else False))
+ metatags.append((i,j["nombre"], True if plnl2 else False, i in monitor_metatags))
return metatags
+
+def monitored_metatag(conn,usuario,metatag) :
+ return metatag in conn.get_root()["usuarios"]["usuarios"][normaliza_nick(usuario)]["monitor metatags"]
Modified: trunk/frontend-web/skins.py
==============================================================================
--- trunk/frontend-web/skins.py (original)
+++ trunk/frontend-web/skins.py Fri Jul 27 15:14:09 2007
@@ -181,7 +181,7 @@
def list_metatags(self):
"""Format the thread list"""
m_list = self._dict.pop("metatags",None)
- for id, title, nr in m_list:
+ for id, title, nr, mon in m_list:
format = self._style.pop(0)
self._style.append(format)
if nr:
@@ -197,7 +197,7 @@
thread_len=globales.thread_len
for date,threads in t_list:
self.set_text(available_skins[self._skin]['group_date'] % {'group_date':daydate(date,self._tz)})
- for thread, title, ts, nr, nr_point, n_msgs in threads:
+ for thread, title, ts, nr, nr_point, n_msgs, mon in threads:
format = self._style.pop(0)
self._style.append(format)
if nr:
Modified: trunk/frontend-web/url_hilo.py
==============================================================================
--- trunk/frontend-web/url_hilo.py (original)
+++ trunk/frontend-web/url_hilo.py Fri Jul 27 15:14:09 2007
@@ -21,7 +21,7 @@
except :
return None
- meta,mensajes,num_mensajes,finished,metatags=database.listado_hilo(conn,usuario,hilo_num,first_post)
+ meta,mensajes,num_mensajes,finished,metatags,mon=database.listado_hilo(conn,usuario,hilo_num,first_post)
if not meta : return None
assert len(metatags)==1 # De momento no permitimos multiples metatags para un hilo
@@ -37,6 +37,7 @@
"messages": (first_post,num_mensajes,mensajes),
"metatag": metatag[0],
"metatag_title": metatag[1],
+ "monitor": mon,
}
pagina.load_dict(d)
Modified: trunk/frontend-web/url_indice.py
==============================================================================
--- trunk/frontend-web/url_indice.py (original)
+++ trunk/frontend-web/url_indice.py Fri Jul 27 15:14:09 2007
@@ -54,7 +54,8 @@
"page_title": "cpif - listado de hilos",
"threads":[],
"calendar": calendario.vista_mensual(conn,fecha_elegida,usuario,metatag),
- "metatag": metatag
+ "metatag": metatag,
+ "monitor": database.monitored_metatag(conn,usuario,metatag),
}
root=conn.get_root()
@@ -76,7 +77,8 @@
hilos[id]["TS"],
hilos[id]["mensajes"].get(punto_no_leido.get(id,None)), # El numero de mensajes hasta el no leido
punto_no_leido.get(id,None),
- hilos[id]["num_mensajes"]) for id,title,not_read in h])) # El punto donde el usuario no ha leido
+ hilos[id]["num_mensajes"],
+ mon) for id,title,not_read,mon in h])) # El punto donde el usuario no ha leido
num_hilos+=l
ts=ts2
More information about the cpif
mailing list