[cpif] r142 - in trunk: . backend frontend-web
svn at argo.es
svn at argo.es
Sat Jun 9 23:03:29 CEST 2007
Author: jcea
Date: Sat Jun 9 23:03:28 2007
New Revision: 142
Log:
Seguimos avanzando en permitir acceso anonimo al foro.
Solo queda un detalle mas, como se explica en la TODO.
Modified:
trunk/TODO
trunk/backend/database.py
trunk/frontend-web/globales.py
trunk/frontend-web/init.py
trunk/frontend-web/servidor_web.py
trunk/frontend-web/url_nuevo_hilo_POST.py
trunk/frontend-web/url_nuevo_post_POST.py
trunk/frontend-web/url_nuevo_usuario_POST.py
Modified: trunk/TODO
==============================================================================
--- trunk/TODO (original)
+++ trunk/TODO Sat Jun 9 23:03:28 2007
@@ -100,3 +100,11 @@
idea modificar el proceso de escribir un mensaje nuevo
para no volver a pasar por el metatag.
+- 20070609: Ahora que permitimos acceso anonimo, hay que
+ cambiar el skin para que permita hacer login si no estamos
+ autentificados, y que no salga la opcion de escribir
+ un hilo/mensaje nuevo si no estamos autentificados.
+
+ Para ello lo mas simple es pasar al SKIN el nombre del
+ usuario, algo que de todas formas necesitaria.
+
Modified: trunk/backend/database.py
==============================================================================
--- trunk/backend/database.py (original)
+++ trunk/backend/database.py Sat Jun 9 23:03:28 2007
@@ -217,6 +217,13 @@
def actualiza_no_leidos(conn,usuario) :
root=conn.get_root()
+ if not usuario : # Acceso anonimo. Nos encargamos de que nada salga como "no leido"
+ usuario=root["usuarios"]["usuarios"][usuario]
+ last=root["mensajes"]["num_mensajes"]
+ if usuario["ultimo mensaje conocido"]!=last
+ usuario["ultimo mensaje conocido"]=last
+ return
+
punto_de_lectura_global=root["punto_de_lectura_global"]
usuario=root["usuarios"]["usuarios"][normaliza_nick(usuario)]
l=usuario["ultimo mensaje conocido"]
@@ -278,23 +285,24 @@
i-=1
if not i : break
- finished=posicion>=hilo["num_mensajes"]
- pl=u["punto de lectura"].get(hilo_num,0)
- if not pl : # Nunca hemos visitado ese hilo, o hace mucho que no cambia
- pl=root["punto_de_lectura_global"][hilo_num]
metatags=hilo["metatags"]
- if pl<msg_num :
- u["punto de lectura"][hilo_num]=msg_num
- pnl=0
- for metatag in metatags :
- plnl=u["punto de lectura no leidos"][metatag]
- nl=plnl.get(hilo_num)
- if nl and (nl<=msg_num) :
- if finished : del plnl[hilo_num]
- else :
- if not pnl :
- pnl=iterador_mensajes.next()[0] # El primer no leido
- plnl[hilo_num]=pnl
+ finished=posicion>=hilo["num_mensajes"]
+ if usuario : # Acceso *NO* anonimo
+ pl=u["punto de lectura"].get(hilo_num,0)
+ if not pl : # Nunca hemos visitado ese hilo, o hace mucho que no cambia
+ pl=root["punto_de_lectura_global"][hilo_num]
+ if pl<msg_num :
+ u["punto de lectura"][hilo_num]=msg_num
+ pnl=0
+ for metatag in metatags :
+ plnl=u["punto de lectura no leidos"][metatag]
+ nl=plnl.get(hilo_num)
+ if nl and (nl<=msg_num) :
+ if finished : del plnl[hilo_num]
+ else :
+ if not pnl :
+ pnl=iterador_mensajes.next()[0] # El primer no leido
+ plnl[hilo_num]=pnl
return (meta,mensajes,finished,metatags)
Modified: trunk/frontend-web/globales.py
==============================================================================
--- trunk/frontend-web/globales.py (original)
+++ trunk/frontend-web/globales.py Sat Jun 9 23:03:28 2007
@@ -15,3 +15,6 @@
# Numero de mensajes por pagina de hilo
thread_len=10
+# Permitimos el acceso anonimo al foro
+allow_anonymous=False
+
Modified: trunk/frontend-web/init.py
==============================================================================
--- trunk/frontend-web/init.py (original)
+++ trunk/frontend-web/init.py Sat Jun 9 23:03:28 2007
@@ -54,6 +54,9 @@
else :
database.usuario_add(conn,"master",None,clave=masterkey)
+ if not database.usuario_get(conn,"") :
+ database.usuario_add(conn,"",None)
+
usuarios=("Usuario1","Usuario2")
for i in usuarios :
if not database.usuario_get(conn,i) :
Modified: trunk/frontend-web/servidor_web.py
==============================================================================
--- trunk/frontend-web/servidor_web.py (original)
+++ trunk/frontend-web/servidor_web.py Sat Jun 9 23:03:28 2007
@@ -1,6 +1,6 @@
# $Id$
-from globales import monitor
+from globales import monitor,allow_anonymous
urls={}
@@ -11,7 +11,7 @@
must_stop=False
def do_GET(self) :
- global urls
+ global urls,allow_anonymous
cookie=self.headers.get("cookie",None)
if cookie :
import Cookie
@@ -27,10 +27,10 @@
cookie=None
try :
path=self.path.split("/")[1:]
- if not cookie :
+ if not (cookie or allow_anonymous) :
resultado=urls["LOGIN"](self,path,None)
else :
- usuario,cookie=cookie
+ usuario=cookie or ""
resultado=urls.get(path[0],None)
if resultado :
resultado=resultado(self,path,usuario)
Modified: trunk/frontend-web/url_nuevo_hilo_POST.py
==============================================================================
--- trunk/frontend-web/url_nuevo_hilo_POST.py (original)
+++ trunk/frontend-web/url_nuevo_hilo_POST.py Sat Jun 9 23:03:28 2007
@@ -4,6 +4,10 @@
@monitor
def gestiona_url(conn,handler,path,usuario) :
+ if not usuario : # Acceso anonimo
+ import url_LOGIN
+ return url_LOGIN.gestiona_url(handler,path,usuario)
+
import database
if len(path)!=2 : return None
try :
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 23:03:28 2007
@@ -4,6 +4,10 @@
@monitor
def gestiona_url(conn,handler,path,usuario) :
+ if not usuario : # Acceso anonimo
+ import url_LOGIN
+ return url_LOGIN.gestiona_url(handler,path,usuario)
+
if len(path)!=3 : return None
try :
metatag=int(path[1])
Modified: trunk/frontend-web/url_nuevo_usuario_POST.py
==============================================================================
--- trunk/frontend-web/url_nuevo_usuario_POST.py (original)
+++ trunk/frontend-web/url_nuevo_usuario_POST.py Sat Jun 9 23:03:28 2007
@@ -4,6 +4,10 @@
@monitor
def gestiona_url(conn,handler,path,usuario) :
+ if not usuario : # Acceso anonimo
+ import url_LOGIN
+ return url_LOGIN.gestiona_url(handler,path,usuario)
+
if len(path)!=1 : return None
import skins
More information about the cpif
mailing list