[cpif] r99 - trunk/backend
svn at argo.es
svn at argo.es
Thu May 24 18:29:33 CEST 2007
Author: jcea
Date: Thu May 24 18:29:32 2007
New Revision: 99
Log:
Added:
trunk/backend/upgrade.py
- copied, changed from r97, /trunk/backend/migracion.py
Removed:
trunk/backend/migracion.py
Modified:
trunk/backend/database.py
Modified: trunk/backend/database.py
==============================================================================
--- trunk/backend/database.py (original)
+++ trunk/backend/database.py Thu May 24 18:29:32 2007
@@ -3,6 +3,8 @@
VERSION_DB="2007052401"
+from globales import thread_len
+
def normaliza_nick(nick) :
return nick.lower()
@@ -220,10 +222,10 @@
return resultado
-def listado_hilo(conn,usuario,hilo_num) :
+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
+ if not hilo : return None,None,None
meta={"titulo":hilo["titulo"],"creador":hilo["creador"],
"TS creacion":hilo["TS creacion"]}
@@ -233,9 +235,17 @@
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()]
+ mensajes=[]
+ i=thread_len
+ pr=hilo["numeros"].get(primer_mensaje,None)
+ if not pr : return None,None,None
+ for msg_num,msg in hilo["mensajes"].items_from(pr) :
+ msg=msg[1]
+ mensajes.append((msg_num,msg["autor"],msg["TS"],msg["texto"]))
+ i-=1
+ if not i : break
- return (meta,mensajes)
+ return (meta,mensajes,primer_mensaje+thread_len>hilo["num_mensajes"])
# Marcamos como leidos los hilos que estamos
# viendo en pantalla. Si hay mensajes adicionales
Copied: trunk/backend/upgrade.py (from r97, /trunk/backend/migracion.py)
==============================================================================
--- /trunk/backend/migracion.py (original)
+++ trunk/backend/upgrade.py Thu May 24 18:29:32 2007
@@ -8,9 +8,12 @@
if root["version del foro"]=="2007051901" :
print "Actualizando la base de datos: 2007051901 -> 2007052401"
root["version del foro"]="2007052401"
- for i in root["hilos"]["hilos"] :
+ for i in root["hilos"]["hilos"].itervalues() :
i["numeros"]=BTree()
-
- conn.abort()
+ n=1
+ for j,k in i["mensajes"].items() : # Carga todo el hilo en memoria antes de actualizarlo
+ i["numeros"][n]=j
+ i["mensajes"][j]=(n,k)
+ n+=1
conn.commit()
More information about the cpif
mailing list