[cpif] r214 - trunk/frontend-web

svn at argo.es svn at argo.es
Sat Jun 30 23:55:41 CEST 2007


Author: jcea
Date: Sat Jun 30 23:55:41 2007
New Revision: 214

Log:
Problemas menores...

Modified:
   trunk/frontend-web/parser_entities.py
   trunk/frontend-web/parser_eol.py
   trunk/frontend-web/parsers.py

Modified: trunk/frontend-web/parser_entities.py
==============================================================================
--- trunk/frontend-web/parser_entities.py	(original)
+++ trunk/frontend-web/parser_entities.py	Sat Jun 30 23:55:41 2007
@@ -2,5 +2,8 @@
 
 def parse(text):
   import cgi
-  return False,[(True, cgi.escape(text))]
+  # Devolvemos "False" para que si ponemos algun otro parser detras (!no lo hagas!)
+  # dicho parser no haga nada. La idea es que al investigarlo nos encontremos
+  # con que lo hemos puesto donde no es...
+  return False,[(False, cgi.escape(text))]
 

Modified: trunk/frontend-web/parser_eol.py
==============================================================================
--- trunk/frontend-web/parser_eol.py	(original)
+++ trunk/frontend-web/parser_eol.py	Sat Jun 30 23:55:41 2007
@@ -1,5 +1,11 @@
 # $Id$
 
 def parse(text):
-  return False,[(True, text.replace("\r","").replace("\n","<br>\r\n"))]
+  eol=(False,"<br/>")
+  token_list=[]
+  text=text.replace("\r","")
+  for fragment in text.split("\n") :
+    token_list.extend([(True,fragment),eol])
+  token_list.pop() # Al final hay un "eol" de mas
+  return False,token_list
 

Modified: trunk/frontend-web/parsers.py
==============================================================================
--- trunk/frontend-web/parsers.py	(original)
+++ trunk/frontend-web/parsers.py	Sat Jun 30 23:55:41 2007
@@ -14,8 +14,10 @@
   parsers = [
       (allow_html, parser_html),
       (allow_bbcode, parser_bbcode),
-      (True, parser_entities),
       (True, parser_eol),
+# Salvo que sepas muy bien que estas haciendo,
+# este parser debe ser el ultimo de todos.
+      (True, parser_entities)
   ]
 
   for allow, parser in parsers:
@@ -25,10 +27,10 @@
         token_list=[token]
         must_reparse,fragment=token
         if must_reparse :
-          retval, token_list = parser.parse(fragments)
+          retval, token_list = parser.parse(fragment)
           if retval :
             return retval, None
-        aux+=token
+        aux+=token_list
       tokens = aux
   
   return False, "".join([text for dummy, text in tokens])



More information about the cpif mailing list