[cpif] r92 - in trunk: . frontend-web

svn at argo.es svn at argo.es
Thu May 24 14:09:30 CEST 2007


Author: jcea
Date: Thu May 24 14:09:28 2007
New Revision: 92

Log:
Cortes de paginas de hilos correctos, con el timezone de Madrid.



Modified:
   trunk/TODO
   trunk/frontend-web/url_.py

Modified: trunk/TODO
==============================================================================
--- trunk/TODO	(original)
+++ trunk/TODO	Thu May 24 14:09:28 2007
@@ -30,10 +30,6 @@
   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.
-
 - 20070518: FRONTAL WEB: A medida que el codigo crezca, hay que
   prestar mas atencion a los ataques XSS. Ver el log del commit
   de la revision 51 del proyecto.

Modified: trunk/frontend-web/url_.py
==============================================================================
--- trunk/frontend-web/url_.py	(original)
+++ trunk/frontend-web/url_.py	Thu May 24 14:09:28 2007
@@ -6,13 +6,18 @@
 
 import datetime
 delta_dia=datetime.timedelta(1)
+medianoche=datetime.time(0)
+
+meses=["","enero","febrero","marzo","abril",
+          "mayo,","junio","julio","agosto",
+          "septiembre","octubre","noviembre","diciembre"]
 
 # La fecha del hilo modificado hace mas tiempo
 fecha_min=None
 
 @monitor
 def gestiona_url(conn,handler,path,usuario) :
-  import time,database,datetime,calendar
+  import time,database,datetime,pytz,calendar
   global delta_dia
 
   l=len(path)
@@ -33,7 +38,9 @@
   fecha_elegida=fecha
   fecha_max=fecha+delta_dia # Empezamos a listar los hilos escritos desde las 0:00 de "man~ana"
   def timegm(fecha) :
-    return calendar.timegm((fecha.year,fecha.month,fecha.day,0,0,0,0,0,-1))
+    tz=pytz.timezone("Europe/Madrid")
+    dt=tz.localize(datetime.datetime.combine(fecha,medianoche))
+    return calendar.timegm(dt.utctimetuple())
   ts=timegm(fecha_max)
 
   import skins
@@ -51,7 +58,7 @@
 
   while (num_hilos<50) and (fecha>=fecha_min) :
     ts2=timegm(fecha)
-    pagina.group_date(time.ctime(ts2))
+    pagina.group_date("%d de %s de %d" %(fecha.day,meses[fecha.month],fecha.year))
     h=database.listado_hilos_personal(conn,usuario,ts,ts2)
     num_hilos+=len(h)
     



More information about the cpif mailing list