[cpif] r273 - in trunk: . backend frontend-web frontend-web/skins/default
svn at argo.es
svn at argo.es
Thu Jul 12 19:19:31 CEST 2007
Author: jcea
Date: Thu Jul 12 19:19:28 2007
New Revision: 273
Log:
Ya podemos visualizar la configuracion CPIF via web, pero
todavia no podemos cambiarla.
Added:
trunk/frontend-web/url_edit_config.py
- copied, changed from r271, /trunk/frontend-web/url_logout.py
Modified:
trunk/TODO
trunk/backend/database.py
trunk/backend/upgrade.py
trunk/frontend-web/globales.py
trunk/frontend-web/init.py
trunk/frontend-web/skins/default/body_generic.html
trunk/frontend-web/skins/default/body_metatags.html
trunk/frontend-web/skins/default/body_show_thread.html
trunk/frontend-web/skins/default/body_show_thread_anonymous.html
trunk/frontend-web/skins/default/body_threadlist.html
trunk/frontend-web/skins/default/body_threadlist_anonymous.html
Modified: trunk/TODO
==============================================================================
--- trunk/TODO (original)
+++ trunk/TODO Thu Jul 12 19:19:28 2007
@@ -250,8 +250,20 @@
Esto es especialmente interesante con herramientas como "wget".
-- 20070711: FRONTAL WEB: Los parsers HTML y BBCode (no se si alguno mas)
+- 20070712: FRONTAL WEB: Los parsers HTML y BBCode (no se si alguno mas)
devuelven tokens vacios ('') cuando estan procesando un mensaje
a publicar, si los tags estan juntos, el texto empieza con un
tag. Hacer limpieza.
+
+- 20070712: Ya que estamos conservando la base de datos entre versiones,
+ eliminar el backup de usuarios, que se ha quedado anticuado.
+
+- 20070712: Ya podemos visualizar la configuracion CPIF via web, pero
+ todavia no podemos cambiarla.
+
+ Ojo en esta opcion, ya que si la transaccion DURUS se aborta, no debemos
+ modificar el estado global. La forma mas simple de lograrlos es hacer
+ un "commit" al final del cuerpo de la funcion, luego actualizar el estado
+ global y, por ultimo, regresar. No debe hacerse nada mas, so pena de que
+ ocurra una excepcion y nos deje el estado global a medio cambiar.
Modified: trunk/backend/database.py
==============================================================================
--- trunk/backend/database.py (original)
+++ trunk/backend/database.py Thu Jul 12 19:19:28 2007
@@ -1,9 +1,9 @@
# $Id$
-VERSION_DB="2007071201"
+VERSION_DB="2007071202"
-from globales import thread_len
+import globales
# Chanchullo para los "tests"
do_backup_users=True
@@ -63,7 +63,31 @@
root["static"]["smileys"]=BTree()
root["smileys"]=PersistentList()
+ conf=PersistentDict()
+ conf["thread_len"]=10
+ conf["allow_anonymous"]=True
+ conf["http_max_clients"]=16
+ conf["http_initial_timeout"]=30
+ conf["http_keep_alive_timeout"]=5
+ conf["openid_support"]=True
+ conf["allow_bbcode"]=True
+ conf["allow_html"]=True
+ conf["allow_avatar_change"]=True
+
+ @monitor
+ def load_initial_config(conn) :
+ conf=dict(conn.get_root()["config"]) # Force object load
+ return load_new_config(conf)
+
init()
+ load_initial_config()
+
+
+def load_new_config(conf) :
+ import globales
+ for k,v in conf.items() :
+ setattr(globales,k,v)
+
# Si suministramos una cookie, de ahi se saca el
# usuario y se comprueba su identidad.
@@ -428,7 +452,7 @@
num_mensajes=hilo["num_mensajes"]
mensajes=[]
- i=thread_len
+ i=globales.thread_len
pr=hilo["numeros"].get(primer_mensaje,None)
if not pr : return None,None,None
iterador_mensajes=hilo["mensajes"].items_from(pr)
Modified: trunk/backend/upgrade.py
==============================================================================
--- trunk/backend/upgrade.py (original)
+++ trunk/backend/upgrade.py Thu Jul 12 19:19:28 2007
@@ -182,3 +182,20 @@
root["usuarios"]["usuarios"]["jcea"]["email"]="jcea at argo.es"
conn.commit()
+ if root["version del foro"]=="2007071201" :
+ print "Actualizando la base de datos: 2007071201 -> 2007071202"
+ root["version del foro"]="2007071202"
+ conf=PersistentDict()
+ conf["thread_len"]=10
+ conf["allow_anonymous"]=True
+ conf["http_max_clients"]=16
+ conf["http_initial_timeout"]=30
+ conf["http_keep_alive_timeout"]=5
+ conf["openid_support"]=True
+ conf["allow_bbcode"]=True
+ conf["allow_html"]=True
+ conf["allow_avatar_change"]=True
+
+ root["config"]=conf
+ conn.commit()
+
Modified: trunk/frontend-web/globales.py
==============================================================================
--- trunk/frontend-web/globales.py (original)
+++ trunk/frontend-web/globales.py Thu Jul 12 19:19:28 2007
@@ -12,29 +12,3 @@
# Global version of the program
version=None
-# Number of messages per page on a thread
-thread_len=10
-
-# Allow anonymous access?
-allow_anonymous=True
-
-# Simultaneous HTTP connections
-http_max_clients=16
-
-# Specify initial HTTP timeout
-http_initial_timeout=30
-# Keep-alive timeout (if zero or False, no keep-alive support)
-http_keep_alive_timeout=5
-
-# OpenID Support (Requires library. See docs)
-openid_support=True
-
-# Allow BBcode?
-allow_bbcode=True
-
-# Allow HTML?
-allow_html=True
-
-# Allow avatar change (Requires library. See docs)
-allow_avatar_change=True
-
Modified: trunk/frontend-web/init.py
==============================================================================
--- trunk/frontend-web/init.py (original)
+++ trunk/frontend-web/init.py Thu Jul 12 19:19:28 2007
@@ -9,12 +9,6 @@
directorio_padre=os.path.split(os.getcwd())[0] # Directorio padre
sys.path.append(os.path.join(directorio_padre,"backend"))
- if globales.openid_support :
- import openid # Nos aseguramos de tener la libreria
-
- if globales.allow_avatar_change :
- from PIL import Image # Nos aseguramos de tener la libreria
-
for i in os.walk(directorio_padre) :
if i[0].endswith("durus-berkeleydbstorage") : continue
if i[2] :
@@ -40,6 +34,12 @@
import database
database.init_database(monitor)
+
+ if globales.openid_support :
+ import openid # Nos aseguramos de tener la libreria
+
+ if globales.allow_avatar_change :
+ from PIL import Image # Nos aseguramos de tener la libreria
@monitor
def inicializa(conn,masterkey) :
Modified: trunk/frontend-web/skins/default/body_generic.html
==============================================================================
--- trunk/frontend-web/skins/default/body_generic.html (original)
+++ trunk/frontend-web/skins/default/body_generic.html Thu Jul 12 19:19:28 2007
@@ -8,6 +8,7 @@
<li>%(auth)s</li>
<li><a href="/nuevo_usuario">Dar de alta un nuevo usuario</a></li>
<li><a href="/edit_metatags">Editar Metatags</a></li>
+ <li><a href="/edit_config">Editar configuración de CPIF</a></li>
<li><a href="/stop">Parar la demo</a></li>
</ul>
</div>
Modified: trunk/frontend-web/skins/default/body_metatags.html
==============================================================================
--- trunk/frontend-web/skins/default/body_metatags.html (original)
+++ trunk/frontend-web/skins/default/body_metatags.html Thu Jul 12 19:19:28 2007
@@ -8,6 +8,7 @@
<li>%(auth)s</li>
<li><a href="/nuevo_usuario">Dar de alta un nuevo usuario</a></li>
<li><a href="/edit_metatags">Editar Metatags</a></li>
+ <li><a href="/edit_config">Editar configuración de CPIF</a></li>
<li><a href="/stop">Parar la demo</a></li>
</ul>
</div>
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 Thu Jul 12 19:19:28 2007
@@ -110,6 +110,7 @@
<li>%(auth)s</li>
<li><a href="/nuevo_usuario">Dar de alta un nuevo usuario</a></li>
<li><a href="/edit_metatags">Editar Metatags</a></li>
+ <li><a href="/edit_config">Editar configuración de CPIF</a></li>
<li><a href="/stop">Parar la demo</a></li>
</ul>
</div>
Modified: trunk/frontend-web/skins/default/body_show_thread_anonymous.html
==============================================================================
--- trunk/frontend-web/skins/default/body_show_thread_anonymous.html (original)
+++ trunk/frontend-web/skins/default/body_show_thread_anonymous.html Thu Jul 12 19:19:28 2007
@@ -20,6 +20,7 @@
<li>%(auth)s</li>
<li><a href="/nuevo_usuario">Dar de alta un nuevo usuario</a></li>
<li><a href="/edit_metatags">Editar Metatags</a></li>
+ <li><a href="/edit_config">Editar configuración de CPIF</a></li>
<li><a href="/stop">Parar la demo</a></li>
</ul>
</div>
Modified: trunk/frontend-web/skins/default/body_threadlist.html
==============================================================================
--- trunk/frontend-web/skins/default/body_threadlist.html (original)
+++ trunk/frontend-web/skins/default/body_threadlist.html Thu Jul 12 19:19:28 2007
@@ -41,6 +41,7 @@
<li>%(auth)s</li>
<li><a href="/nuevo_usuario">Dar de alta un nuevo usuario</a></li>
<li><a href="/edit_metatags">Editar Metatags</a></li>
+ <li><a href="/edit_config">Editar configuración de CPIF</a></li>
<li><a href="/stop">Parar la demo</a></li>
</ul>
</div>
Modified: trunk/frontend-web/skins/default/body_threadlist_anonymous.html
==============================================================================
--- trunk/frontend-web/skins/default/body_threadlist_anonymous.html (original)
+++ trunk/frontend-web/skins/default/body_threadlist_anonymous.html Thu Jul 12 19:19:28 2007
@@ -13,6 +13,7 @@
<li>%(auth)s</li>
<li><a href="/nuevo_usuario">Dar de alta un nuevo usuario</a></li>
<li><a href="/edit_metatags">Editar Metatags</a></li>
+ <li><a href="/edit_config">Editar configuración de CPIF</a></li>
<li><a href="/stop">Parar la demo</a></li>
</ul>
</div>
Copied: trunk/frontend-web/url_edit_config.py (from r271, /trunk/frontend-web/url_logout.py)
==============================================================================
--- /trunk/frontend-web/url_logout.py (original)
+++ trunk/frontend-web/url_edit_config.py Thu Jul 12 19:19:28 2007
@@ -1,9 +1,40 @@
# $Id$
from globales import monitor
+import globales
def gestiona_url(handler,path,usuario) :
if len(path)!=1 : return None
- # Para borrar una cookie hay que mandarla con una fecha en el pasado.
- return (302,{"Set-Cookie":"cpif_auth=X; path=/; expires=Thu, 01-Jan-1970 01:00:00 GMT","Location":"/"},"")
+
+ import skins
+ pagina = skins.Skin(path,usuario)
+ pagina.load_dict({"page_title": "cpif - Editar configuracion de CPIF"})
+
+ if usuario!="master" :
+ pagina.load_dict({"generic_message": "<h2>Solo el usuario 'master' puede editar la configuración de CPIF</h2>"})
+ return pagina.web()
+
+ texto=['<tr><td>Number of messages per page on a thread</td><td><input type="text" name="thread_len" size="5" value="%d" /></td></tr>' %globales.thread_len]
+ texto.append('<tr><td>Allow anonymous access?</td><td><input type="checkbox" name="allow_anonymous" %s /></td></tr>' % "CHECKED" if globales.allow_anonymous else "")
+ texto.append('<tr><td>Simultaneous HTTP connections</td><td><input type="text" name="http_max_clients" size="5" value="%d" /></td></tr>' %globales.http_max_clients)
+ texto.append('<tr><td>Specify initial HTTP timeout</td><td><input type="text" name="http_initial_timeout" size="5" value="%d" /></td></tr>' %globales.http_initial_timeout)
+ texto.append('<tr><td>Keep-alive timeout<br/>(if zero or False, no keep-alive support)</td><td><input type="text" name="http_keep_alive_timeout" size="5" value="%d" /></td></tr>' %globales.http_keep_alive_timeout)
+ texto.append('<tr><td>OpenID Support<br/>(Requires library. See docs)</td><td><input type="checkbox" name="openid_support" %s /></td></tr>' % "CHECKED" if globales.openid_support else "")
+ texto.append('<tr><td>Allow BBcode?</td><td><input type="checkbox" name="allow_bbcode" %s /></td></tr>' % "CHECKED" if globales.allow_bbcode else "")
+ texto.append('<tr border=1><td>Allow HTML?</td><td><input type="checkbox" name="allow_html" %s /></td></tr>' % "CHECKED" if globales.allow_html else "")
+ texto.append('<tr><td>Allow avatar change<br/>(Requires library. See docs)</td><td><input type="checkbox" name="allow_avatar_change" %s /></td></tr>' % "CHECKED" if globales.allow_avatar_change else "")
+
+ return (200, {"Content-Type":"text/html; charset=utf-8"},
+"""
+<html>
+<title>Editar configuración de CPIF</title>
+<body>
+<form action="/edit_config_POST" method="post" enctype="multipart/form-data">
+<table>
+%s
+<tr><td colspan="2" align="right"><input type="submit" name="submit" value="actualizar configuración"/></td></tr>
+</table>
+</body>
+</html>
+""" % ("\r\n".join(texto)))
More information about the cpif
mailing list