diff options
author | Jef van Schendel <jefvanschendel@gmail.com> | 2011-06-20 16:33:14 +0200 |
---|---|---|
committer | Jef van Schendel <jefvanschendel@gmail.com> | 2011-06-20 16:33:14 +0200 |
commit | 2d1f91cc41aca908502ea1d18687b902a5fd90a1 (patch) | |
tree | 1d6d425a8ec7a7bfb8490c88d87806d856336d1e /mediagoblin/util.py | |
parent | 76e21adbd8756159d83bef99b335398519b338f3 (diff) | |
parent | 5c441e75ebc4ad63c3a5362d9bc451abe97984d2 (diff) | |
download | mediagoblin-2d1f91cc41aca908502ea1d18687b902a5fd90a1.tar.lz mediagoblin-2d1f91cc41aca908502ea1d18687b902a5fd90a1.tar.xz mediagoblin-2d1f91cc41aca908502ea1d18687b902a5fd90a1.zip |
Merge remote-tracking branch 'gitorious/master'
Diffstat (limited to 'mediagoblin/util.py')
-rw-r--r-- | mediagoblin/util.py | 38 |
1 files changed, 12 insertions, 26 deletions
diff --git a/mediagoblin/util.py b/mediagoblin/util.py index fc380f41..0e43a1f5 100644 --- a/mediagoblin/util.py +++ b/mediagoblin/util.py @@ -18,7 +18,6 @@ from email.MIMEText import MIMEText import gettext import pkg_resources import smtplib -import os import sys import re import urllib @@ -28,14 +27,13 @@ import copy from babel.localedata import exists import jinja2 import translitcodec -from paste.deploy.loadwsgi import NicerConfigParser from webob import Response, exc from lxml.html.clean import Cleaner +import markdown from mediagoblin import mg_globals from mediagoblin.db.util import ObjectId - TESTS_ENABLED = False def _activate_testing(): """ @@ -100,7 +98,7 @@ def get_jinja_env(template_loader, locale): template_env = jinja2.Environment( loader=template_loader, autoescape=True, - extensions=['jinja2.ext.i18n']) + extensions=['jinja2.ext.i18n', 'jinja2.ext.autoescape']) template_env.install_gettext_callables( mg_globals.translations.gettext, @@ -352,28 +350,6 @@ def get_locale_from_request(request): return locale_to_lower_upper(target_lang) -def read_config_file(conf_file): - """ - Read a paste deploy style config file and process it. - """ - if not os.path.exists(conf_file): - raise IOError( - "MEDIAGOBLIN_CONFIG not set or file does not exist") - - parser = NicerConfigParser(conf_file) - parser.read(conf_file) - parser._defaults.setdefault( - 'here', os.path.dirname(os.path.abspath(conf_file))) - parser._defaults.setdefault( - '__file__', os.path.abspath(conf_file)) - - mgoblin_conf = dict( - [(section_name, dict(parser.items(section_name))) - for section_name in parser.sections()]) - - return mgoblin_conf - - # A super strict version of the lxml.html cleaner class HTML_CLEANER = Cleaner( scripts=True, @@ -400,6 +376,16 @@ def clean_html(html): return HTML_CLEANER.clean_html(html) +MARKDOWN_INSTANCE = markdown.Markdown(safe_mode='escape') + + +def cleaned_markdown_conversion(text): + """ + Take a block of text, run it through MarkDown, and clean its HTML. + """ + return clean_html(MARKDOWN_INSTANCE.convert(text)) + + SETUP_GETTEXTS = {} def setup_gettext(locale): |