[cpif] r139 - in trunk: . backend frontend-web frontend-web/skins/default
svn at argo.es
svn at argo.es
Sat Jun 9 18:51:08 CEST 2007
Author: jcea
Date: Sat Jun 9 18:51:07 2007
New Revision: 139
Log:
Eliminamos la indicacion de metatag en la URL, salvo cuando
es imprescindible. De esta forma un hilo tiene siempre la
misma URL, independientemente de por donde haya entrado el
usuario.
Ademas, mostramos el titulo de metatag en el enlace al final.
Modified:
trunk/TODO
trunk/backend/database.py
trunk/frontend-web/skins.py
trunk/frontend-web/skins/default/body_show_thread.html
trunk/frontend-web/url_hilo.py
trunk/frontend-web/url_nuevo_post_POST.py
Modified: trunk/TODO
==============================================================================
--- trunk/TODO (original)
+++ trunk/TODO Sat Jun 9 18:51:07 2007
@@ -92,15 +92,11 @@
hilos del dia mas antiguo, nos desaparecen de ahi y nos sale
una pagina vacia.
-- 20070606: Cuando se visualiza un hilo o se escribe un mensaje
- nuevo en el, estamos pasando el metatag en la URL. Esto es
- porque un hilo puede estar en varios metatags, y hay que saber
- a cual volver. Pero queda feo. ?Y si pasamos esa info en una
- cookie o similar?.
-
- Una opcion es que en vez de tener un enlace para volver al metatag
- anterior, tener enlaces para ir a todos los metatags de ese hilo.
-
- Pero esto no soluciona el problema cuando se escribe un mensaje
- nuevo...
+- 20070609: Cuando un hilo pueda tener varios metatags, debe
+ aparecer su listado al final de la pagina, para que el usuario
+ pueda volver al que quiera. Pero es problematico cuando
+ escribimos un nuevo mensaje en un hilo, ya que no sabemos
+ hacia que metatag hay que hacer la redireccion. Claro que la
+ idea modificar el proceso de escribir un mensaje nuevo
+ para no volver a pasar por el metatag.
Modified: trunk/backend/database.py
==============================================================================
--- trunk/backend/database.py (original)
+++ trunk/backend/database.py Sat Jun 9 18:51:07 2007
@@ -259,10 +259,11 @@
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
+ if not hilo : return None,None,None,None
meta={"titulo":hilo["titulo"],"creador":hilo["creador"],
"TS creacion":hilo["TS creacion"]}
+ metatags=hilo["metatags"]
u=root["usuarios"]["usuarios"][normaliza_nick(usuario)]
@@ -295,7 +296,7 @@
pnl=iterador_mensajes.next()[0] # El primer no leido
plnl[hilo_num]=pnl
- return (meta,mensajes,finished)
+ return (meta,mensajes,finished,metatags)
# Marcamos como leidos los hilos que estamos
# viendo en pantalla. Si hay mensajes adicionales
Modified: trunk/frontend-web/skins.py
==============================================================================
--- trunk/frontend-web/skins.py (original)
+++ trunk/frontend-web/skins.py Sat Jun 9 18:51:07 2007
@@ -99,10 +99,10 @@
tl = self._dict.get('thread_prev',None)
if tl:
- self.set_text(available_skins[self._skin]['thread_prev'] % {'link': '/hilo/%d/%s' % (metatag, tl)})
+ self.set_text(available_skins[self._skin]['thread_prev'] % {'link': '/hilo/%s' %tl})
tl = self._dict.get('thread_next',None)
if tl:
- self.set_text(available_skins[self._skin]['thread_next'] % {'link': '/hilo/%d/%s' % (metatag, tl)})
+ self.set_text(available_skins[self._skin]['thread_next'] % {'link': '/hilo/%s' %tl})
def list_metatags(self):
"""Format the thread list"""
@@ -129,15 +129,15 @@
if nr:
page = ((nr[0] - 1) / thread_len) * thread_len + 1
aux = available_skins[self._skin]['thread_unread'] % {"title":title,
- "link": "/hilo/%d/%d" % (metatag,thread),
- "link_notread": "/hilo/%d/%d/%d#%d" % (metatag,thread,page,nr_point),
+ "link": "/hilo/%d" %(thread),
+ "link_notread": "/hilo/%d/%d#%d" %(thread,page,nr_point),
"t_date": hourdate(ts,self._tz),
"format": format,
"not_read":nr_point
}
else:
aux = available_skins[self._skin]['thread'] % {"title":title,
- "link": "/hilo/%d/%d" % (metatag,thread),
+ "link": "/hilo/%d" %thread,
"t_date":hourdate(ts,self._tz),
"format": format
}
@@ -163,7 +163,7 @@
aux = available_skins[self._skin]['body']
elif "thread_entries" in urls[self._url]:
self.show_thread()
- self._dict["link_new_post"] = "/nuevo_post_POST/%d/%d" % (metatag,self._dict["msg_num"])
+ self._dict["link_new_post"] = "/nuevo_post_POST/%d/%d" %(metatag,self._dict["msg_num"])
self._dict["link_metatag"] = "/indice/%d" % metatag
aux = available_skins[self._skin]['body_thread']
elif "new_user" in urls[self._url]:
Modified: trunk/frontend-web/skins/default/body_show_thread.html
==============================================================================
--- trunk/frontend-web/skins/default/body_show_thread.html (original)
+++ trunk/frontend-web/skins/default/body_show_thread.html Sat Jun 9 18:51:07 2007
@@ -9,5 +9,5 @@
<tr><td colspan=2 align=right><input class="form-element" type="submit" name="submit" value="Publicar nuevo mensaje"/></td></tr>
</table>
</form>
- <a href="%(link_metatag)s">Volver al subforo</a><br />
+ <a href="%(link_metatag)s">Volver al subforo '%(metatag_title)s'</a><br />
<a href="/">Pagina principal</a>
Modified: trunk/frontend-web/url_hilo.py
==============================================================================
--- trunk/frontend-web/url_hilo.py (original)
+++ trunk/frontend-web/url_hilo.py Sat Jun 9 18:51:07 2007
@@ -6,29 +6,30 @@
def gestiona_url(conn,handler,path,usuario) :
import time,database,calendario
l=len(path)
- if l<2 and l>4 :
+ if l<2 and l>3 :
return None
try :
- hilo_num=int(path[2])
+ hilo_num=int(path[1])
except :
return None
first_post=1
- if l==4 :
+ if l==3 :
try :
- first_post=int(path[3])
+ first_post=int(path[2])
except :
return None
- meta,mensajes,finished=database.listado_hilo(conn,usuario,hilo_num,first_post)
+ meta,mensajes,finished,metatags=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
+ metatag=iter(metatags).next()
import skins
pagina = skins.Skin()
pagina.load_url(path)
- metatag = int(path[1])
d = {
"page_title":"cpif - %s" % meta["titulo"],
"thread_title": meta["titulo"],
Modified: trunk/frontend-web/url_nuevo_post_POST.py
==============================================================================
--- trunk/frontend-web/url_nuevo_post_POST.py (original)
+++ trunk/frontend-web/url_nuevo_post_POST.py Sat Jun 9 18:51:07 2007
@@ -6,8 +6,8 @@
def gestiona_url(conn,handler,path,usuario) :
if len(path)!=3 : return None
try :
- hilo=int(path[2])
metatag=int(path[1])
+ hilo=int(path[2])
except :
return None
import database
More information about the cpif
mailing list