From 36c7d934816d36f45b0987c893836757d933f581 Mon Sep 17 00:00:00 2001 From: dunkyp Date: Tue, 6 Nov 2012 13:32:48 +0000 Subject: [PATCH 1/3] Remove tag delimiter configurability (#390), fixed pep-8 compliance Hardcode commas as tag delimiters per discussion in issue 390. Also improved PEP-8'ness of the file while touching. Includes some improvements suggested by gandaro. Reviewed-by: Sebastian Spaeth --- mediagoblin/tools/text.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/mediagoblin/tools/text.py b/mediagoblin/tools/text.py index ea231244..09d172a6 100644 --- a/mediagoblin/tools/text.py +++ b/mediagoblin/tools/text.py @@ -38,13 +38,12 @@ HTML_CLEANER = Cleaner( allow_tags=[ 'div', 'b', 'i', 'em', 'strong', 'p', 'ul', 'ol', 'li', 'a', 'br', 'pre', 'code'], - remove_unknown_tags=False, # can't be used with allow_tags + remove_unknown_tags=False, # can't be used with allow_tags safe_attrs_only=True, - add_nofollow=True, # for now + add_nofollow=True, # for now host_whitelist=(), whitelist_tags=set([])) -TAGS_DELIMITER=','; def clean_html(html): # clean_html barfs on an empty string @@ -68,8 +67,7 @@ def convert_to_tag_list_of_dicts(tag_string): stripped_tag_string = u' '.join(tag_string.strip().split()) # Split the tag string into a list of tags - for tag in stripped_tag_string.split( - TAGS_DELIMITER): + for tag in stripped_tag_string.split(','): # Ignore empty or duplicate tags if tag.strip() and tag.strip() not in [t['name'] for t in taglist]: @@ -87,8 +85,9 @@ def media_tags_as_string(media_entry_tags): """ media_tag_string = '' if media_entry_tags: - media_tag_string = (TAGS_DELIMITER+u' ').join( - [tag['name'] for tag in media_entry_tags]) + media_tag_string = u', '.join( + [tag['name'] + for tag in media_entry_tags]) return media_tag_string @@ -107,7 +106,7 @@ def tag_length_validator(form, field): if too_long_tags: raise wtforms.ValidationError( - TOO_LONG_TAG_WARNING % (mg_globals.app_config['tags_max_length'], \ + TOO_LONG_TAG_WARNING % (mg_globals.app_config['tags_max_length'], ', '.join(too_long_tags))) From 2a6a3b8cce82ab0139f37a1ff8769e24593537b6 Mon Sep 17 00:00:00 2001 From: Sebastian Spaeth Date: Wed, 14 Nov 2012 08:54:48 +0100 Subject: [PATCH 2/3] Slightly shorten the media_tags_as_string function Signed-off-by: Sebastian Spaeth --- mediagoblin/tools/text.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/mediagoblin/tools/text.py b/mediagoblin/tools/text.py index 09d172a6..24a4d282 100644 --- a/mediagoblin/tools/text.py +++ b/mediagoblin/tools/text.py @@ -83,12 +83,10 @@ def media_tags_as_string(media_entry_tags): This is the opposite of convert_to_tag_list_of_dicts """ - media_tag_string = '' + tags_string = '' if media_entry_tags: - media_tag_string = u', '.join( - [tag['name'] - for tag in media_entry_tags]) - return media_tag_string + tags_string = u', '.join([tag['name'] for tag in media_entry_tags]) + return tags_string TOO_LONG_TAG_WARNING = \ From 9061383de260ec3ed2c551793d91ee672d9989e6 Mon Sep 17 00:00:00 2001 From: Sebastian Spaeth Date: Fri, 16 Nov 2012 13:18:37 +0100 Subject: [PATCH 3/3] No need to strip the tag 4 times spaetz' rule: Don't do sth 4 times when once suffices. Signed-off-by: Sebastian Spaeth --- mediagoblin/tools/text.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/mediagoblin/tools/text.py b/mediagoblin/tools/text.py index 24a4d282..96df49d2 100644 --- a/mediagoblin/tools/text.py +++ b/mediagoblin/tools/text.py @@ -68,12 +68,11 @@ def convert_to_tag_list_of_dicts(tag_string): # Split the tag string into a list of tags for tag in stripped_tag_string.split(','): - + tag = tag.strip() # Ignore empty or duplicate tags - if tag.strip() and tag.strip() not in [t['name'] for t in taglist]: - - taglist.append({'name': tag.strip(), - 'slug': url.slugify(tag.strip())}) + if tag and tag not in [t['name'] for t in taglist]: + taglist.append({'name': tag, + 'slug': url.slugify(tag)}) return taglist