From: Christopher Allan Webber Date: Sat, 30 Jul 2011 18:09:01 +0000 (-0500) Subject: Merge branch 'remotes/gullydwarf-cfdv/f360_tagging' (early part) into mergetags X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=3cdf366acfb577e735abc7fee6c8395fa97c8b48;p=mediagoblin.git Merge branch 'remotes/gullydwarf-cfdv/f360_tagging' (early part) into mergetags Conflicts: mediagoblin/config_spec.ini mediagoblin/edit/views.py mediagoblin/util.py --- 3cdf366acfb577e735abc7fee6c8395fa97c8b48 diff --cc mediagoblin/config_spec.ini index 28be5f34,5aae6439..a296f0c1 --- a/mediagoblin/config_spec.ini +++ b/mediagoblin/config_spec.ini @@@ -21,9 -21,11 +21,14 @@@ direct_remote_path = string(default="/m email_debug_mode = boolean(default=True) email_sender_address = string(default="notice@mediagoblin.example.org") +# Set to false to disable registrations +allow_registration = boolean(default=True) + + # tag parsing + tags_delimiter = string(default=",") + tags_case_sensitive = boolean(default=False) + tags_max_length = integer(default=50) + # By default not set, but you might want something like: # "%(here)s/user_dev/templates/" local_templates = string() diff --cc mediagoblin/edit/forms.py index 0ed52af1,e7a86bba..a1783a72 --- a/mediagoblin/edit/forms.py +++ b/mediagoblin/edit/forms.py @@@ -23,9 -24,11 +24,12 @@@ class EditForm(wtforms.Form) 'Title', [wtforms.validators.Length(min=0, max=500)]) slug = wtforms.TextField( - 'Slug') + 'Slug', + [wtforms.validators.Required(message="The slug can't be empty")]) description = wtforms.TextAreaField('Description of this work') + tags = wtforms.TextField( + 'Tags', + [tag_length_validator]) class EditProfileForm(wtforms.Form): bio = wtforms.TextAreaField('Bio', diff --cc mediagoblin/edit/views.py index f372fbb9,e4ebe8d7..5cbaadb5 --- a/mediagoblin/edit/views.py +++ b/mediagoblin/edit/views.py @@@ -16,10 -16,13 +16,13 @@@ from webob import exc + from string import split from mediagoblin import messages + from mediagoblin import mg_globals from mediagoblin.util import ( - render_to_response, redirect, cleaned_markdown_conversion) + render_to_response, redirect, clean_html, convert_to_tag_list_of_dicts, - media_tags_as_string) ++ media_tags_as_string, cleaned_markdown_conversion) from mediagoblin.edit import forms from mediagoblin.edit.lib import may_edit_media from mediagoblin.decorators import require_active_login, get_user_media_entry @@@ -50,9 -56,14 +54,11 @@@ def edit_media(request, media) else: media['title'] = request.POST['title'] media['description'] = request.POST.get('description') - + media['tags'] = convert_to_tag_list_of_dicts( + request.POST.get('tags')) + - md = markdown.Markdown( - safe_mode = 'escape') - media['description_html'] = clean_html( - md.convert( - media['description'])) + media['description_html'] = cleaned_markdown_conversion( + media['description']) media['slug'] = request.POST['slug'] media.save() diff --cc mediagoblin/util.py index 1892378c,f051dc50..bb9f6db4 --- a/mediagoblin/util.py +++ b/mediagoblin/util.py @@@ -23,8 -21,10 +23,9 @@@ import smtpli import sys import re import urllib -from math import ceil -from string import strip +from math import ceil, floor import copy + import wtforms from babel.localedata import exists import jinja2