Changeset 1709 for trunk/pylucid/PyLucid/tools/content_processors.py
- Timestamp:
- 07/23/08 13:10:41 (20 months ago)
- Files:
-
- 1 modified
-
trunk/pylucid/PyLucid/tools/content_processors.py (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/pylucid/PyLucid/tools/content_processors.py
r1634 r1709 21 21 """ 22 22 23 import re 24 25 if __name__ == "__main__": 26 # For doctest only 27 import os 28 os.environ["DJANGO_SETTINGS_MODULE"] = "PyLucid.settings" 29 23 30 from django.conf import settings 24 31 from django.template import Template, Context … … 36 43 # MARKUP 37 44 45 BLOCK_RE = re.compile("\n{2,}") 46 47 LINK_RE = re.compile( 48 r'''(?<!=")(?P<url>(http|ftp|svn|irc)://(?P<title>[^\s\<]+))(?uimx)''' 49 ) 50 38 51 def fallback_markup(content): 39 52 """ 40 53 A simplest markup, build only paragraphs. 54 >>> fallback_markup("line one\\nline two\\n\\nnext block") 55 '<p>line one<br />\\nline two</p>\\n\\n<p>next block</p>' 56 57 >>> fallback_markup("url: http://pylucid.org END") 58 '<p>url: <a href="http://pylucid.org">pylucid.org</a> END</p>' 41 59 """ 42 import re43 60 content = content.replace("\r\n", "\n").replace("\r","\n") 44 blocks = re.split("\n{2,}",content)61 blocks = BLOCK_RE.split(content) 45 62 blocks = [line.replace("\n", "<br />\n") for line in blocks] 46 63 content = "<p>" + "</p>\n\n<p>".join(blocks) + "</p>" 64 content = LINK_RE.sub(r'<a href="\g<url>">\g<title></a>', content) 47 65 return content 48 66 … … 156 174 157 175 158 176 if __name__ == "__main__": 177 import doctest 178 doctest.testmod( 179 # verbose=True 180 verbose=False 181 ) 182 print "DocTest end."