Skip to content

Commit bbcbfc3

Browse files
committed
Drop the obsolete backwards-compatible email.Utils import in
ietf_filters, add strip_email filter for getting rid of the email part of a "name <email@example.com>" string, fix spelling mistake - Legacy-Id: 6791
1 parent 8a4990c commit bbcbfc3

1 file changed

Lines changed: 15 additions & 8 deletions

File tree

ietf/doc/templatetags/ietf_filters.py

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,12 @@
1010
from django.utils.safestring import mark_safe, SafeData
1111
from django.utils import simplejson
1212
from django.utils.html import strip_tags
13-
try:
14-
from email import utils as emailutils
15-
except ImportError:
16-
from email import Utils as emailutils
13+
from django.template import RequestContext
14+
15+
import email.utils
1716
import re
1817
import datetime
1918
import types
20-
from django.template import RequestContext
2119

2220
register = template.Library()
2321

@@ -74,14 +72,23 @@ def parse_email_list(value):
7472
addrs = re.split(", ?", value)
7573
ret = []
7674
for addr in addrs:
77-
(name, email) = emailutils.parseaddr(addr)
75+
(name, email) = email.utils.parseaddr(addr)
7876
if not(name):
7977
name = email
8078
ret.append('<a href="mailto:%s">%s</a>' % ( fix_ampersands(email), escape(name) ))
8179
return ", ".join(ret)
8280
else:
8381
return value
84-
82+
83+
@register.filter
84+
def strip_email(value):
85+
"""Get rid of email part of name/email string like 'Some Name <email@example.com>'."""
86+
if not value:
87+
return ""
88+
if "@" not in value:
89+
return value
90+
return email.utils.parseaddr(value)[0]
91+
8592
@register.filter(name='fix_angle_quotes')
8693
def fix_angle_quotes(value):
8794
if "<" in value:
@@ -93,7 +100,7 @@ def fix_angle_quotes(value):
93100
@register.filter(name='make_one_per_line')
94101
def make_one_per_line(value):
95102
"""
96-
Turn a comma-separated list into a carraige-return-seperated list.
103+
Turn a comma-separated list into a carriage-return-seperated list.
97104
98105
>>> make_one_per_line("a, b, c")
99106
'a\\nb\\nc'

0 commit comments

Comments
 (0)