[cpif] r49 - in trunk: . backend frontend-web
svn at argo.es
svn at argo.es
Sun May 13 00:58:20 CEST 2007
Author: jcea
Date: Sun May 13 00:58:18 2007
New Revision: 49
Log:
Seguimos migrando detalles de la estructura de datos
a donde le toca: database.py.
Modified:
trunk/TODO
trunk/backend/database.py
trunk/frontend-web/url_hilo.py
Modified: trunk/TODO
==============================================================================
--- trunk/TODO (original)
+++ trunk/TODO Sun May 13 00:58:18 2007
@@ -30,3 +30,7 @@
eficiente saltarse los dias intermedios hasta encontrar el siguiente
dia con actividad.
+- 20070513: FRONTAL WEB: Internamente trabajamos con horas GMT (UTC),
+ asi que no estamos haciendo bien los cortes de pagina. En Espan~a,
+ hay dos horas de desfase en verano y una hora en inverno.
+
Modified: trunk/backend/database.py
==============================================================================
--- trunk/backend/database.py (original)
+++ trunk/backend/database.py Sun May 13 00:58:18 2007
@@ -172,6 +172,22 @@
return resultado
+def listado_hilo(conn,usuario,hilo_num) :
+ root=conn.get_root()
+ hilo=root["hilos"]["hilos"].get(hilo_num,None)
+ if not hilo : return None,None
+
+ meta={"titulo":hilo["titulo"],"creador":hilo["creador"],
+ "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=[(msg_num,msg["autor"],msg["TS"],msg["texto"]) for msg_num,msg in hilo["mensajes"].items()]
+
+ return (meta,mensajes)
# Marcamos como leidos los hilos que estamos
# viendo en pantalla. Si hay mensajes adicionales
Modified: trunk/frontend-web/url_hilo.py
==============================================================================
--- trunk/frontend-web/url_hilo.py (original)
+++ trunk/frontend-web/url_hilo.py Sun May 13 00:58:18 2007
@@ -5,24 +5,23 @@
@monitor
def gestiona_url(conn,handler,path,usuario) :
import time,database
- root=conn.get_root()
- hilo_num=int(path[-1])
- hilo=root["hilos"]["hilos"][hilo_num]
- texto=["<h2>Hilo: %s (%s)</h2>" %(hilo["titulo"],hilo["creador"])]
- texto.extend(["<font size=-2>%s</font>" %time.ctime(hilo["TS creacion"]),"<hr>"])
+ try :
+ hilo_num=int(path[-1])
+ except :
+ return None
- u=root["usuarios"]["usuarios"][database.normaliza_nick(usuario)]
- if hilo_num in u["punto de lectura no leidos"] :
- del u["punto de lectura no leidos"][hilo_num]
+ meta,mensajes=database.listado_hilo(conn,usuario,hilo_num)
+ if not meta : return None
+
+ texto=["<h2>Hilo: %s (%s)</h2>" %(meta["titulo"],meta["creador"])]
+ texto.extend(["<font size=-2>%s</font>" %time.ctime(meta["TS creacion"]),"<hr>"])
estilos=["par","impar"]
- for msg_num,msg in hilo["mensajes"].items() :
+ for msg_num,autor,TS,cuerpo in mensajes :
estilo=estilos.pop(0)
estilos.append(estilo)
- texto.append("<div class='%s'><a name='%s'><p>Autor: %s - fecha: %s</a>" %(estilo,msg_num,msg["autor"],time.ctime(msg["TS"])))
- texto.append("<p>%s</div>" %msg["texto"])
-
- u["punto de lectura"][hilo_num]=hilo["mensajes"].get_max_item()[0]
+ texto.append("<div class='%s'><a name='%s'><p>Autor: %s - fecha: %s</a>" %(estilo,msg_num,autor,time.ctime(TS)))
+ texto.append("<p>%s</div>" %cuerpo)
return(200,"text/html",
"""
@@ -31,7 +30,6 @@
.par {background-color: efe}
.impar {background-color: eef}
</style>
-
%s
<hr>
<p><a href="/%s">Página principal</a>
@@ -43,4 +41,5 @@
</form>
<p><a href="/stop/cualquier_usuario">Parar la demo</a>
</body></html>""" %("\r\n".join(texto),usuario,hilo_num,usuario))
+
More information about the cpif
mailing list