Adds util.cleaned_markdown_conversion() and uses it in the submission process
This simplifies the markdown processing & html cleaning of descritions and etc by providing a wrapper function that we can use in multiple locations.
This commit is contained in:
parent
0692c01e4c
commit
4bf8e8888c
@ -19,13 +19,12 @@ from cgi import FieldStorage
|
|||||||
|
|
||||||
from werkzeug.utils import secure_filename
|
from werkzeug.utils import secure_filename
|
||||||
|
|
||||||
from mediagoblin.util import render_to_response, redirect, clean_html
|
from mediagoblin.util import (
|
||||||
|
render_to_response, redirect, cleaned_markdown_conversion)
|
||||||
from mediagoblin.decorators import require_active_login
|
from mediagoblin.decorators import require_active_login
|
||||||
from mediagoblin.submit import forms as submit_forms, security
|
from mediagoblin.submit import forms as submit_forms, security
|
||||||
from mediagoblin.process_media import process_media_initial
|
from mediagoblin.process_media import process_media_initial
|
||||||
|
|
||||||
import markdown
|
|
||||||
|
|
||||||
|
|
||||||
@require_active_login
|
@require_active_login
|
||||||
def submit_start(request):
|
def submit_start(request):
|
||||||
@ -48,14 +47,13 @@ def submit_start(request):
|
|||||||
|
|
||||||
# create entry and save in database
|
# create entry and save in database
|
||||||
entry = request.db.MediaEntry()
|
entry = request.db.MediaEntry()
|
||||||
entry['title'] = request.POST['title'] or unicode(splitext(filename)[0])
|
entry['title'] = (
|
||||||
entry['description'] = request.POST.get('description')
|
request.POST['title']
|
||||||
|
or unicode(splitext(filename)[0]))
|
||||||
|
|
||||||
md = markdown.Markdown(
|
entry['description'] = request.POST.get('description')
|
||||||
safe_mode = 'escape')
|
entry['description_html'] = cleaned_markdown_conversion(
|
||||||
entry['description_html'] = clean_html(
|
entry['description'])
|
||||||
md.convert(
|
|
||||||
entry['description']))
|
|
||||||
|
|
||||||
entry['media_type'] = u'image' # heh
|
entry['media_type'] = u'image' # heh
|
||||||
entry['uploader'] = request.user['_id']
|
entry['uploader'] = request.user['_id']
|
||||||
|
@ -29,6 +29,7 @@ import jinja2
|
|||||||
import translitcodec
|
import translitcodec
|
||||||
from webob import Response, exc
|
from webob import Response, exc
|
||||||
from lxml.html.clean import Cleaner
|
from lxml.html.clean import Cleaner
|
||||||
|
import markdown
|
||||||
|
|
||||||
from mediagoblin import mg_globals
|
from mediagoblin import mg_globals
|
||||||
from mediagoblin.db.util import ObjectId
|
from mediagoblin.db.util import ObjectId
|
||||||
@ -375,6 +376,16 @@ def clean_html(html):
|
|||||||
return HTML_CLEANER.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 = {}
|
SETUP_GETTEXTS = {}
|
||||||
|
|
||||||
def setup_gettext(locale):
|
def setup_gettext(locale):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user