diff options
author | Yu-Jie Lin <livibetter@gmail.com> | 2013-08-12 01:32:35 +0800 |
---|---|---|
committer | Yu-Jie Lin <livibetter@gmail.com> | 2013-08-12 01:32:35 +0800 |
commit | b74e53bcbe56cc7c88c5dd499bad5c1b52c01e13 (patch) | |
tree | 26aaedfc87eb7efc948c7f8f41e73f44deb8b9ae | |
parent | ca29de552b9c99596af708e49e82aee9ff64133d (diff) | |
download | smartypants-b74e53bcbe56cc7c88c5dd499bad5c1b52c01e13.tar.gz |
fix overused raw/long literal syntax
-rwxr-xr-x | smartypants.py | 86 |
1 files changed, 44 insertions, 42 deletions
diff --git a/smartypants.py b/smartypants.py index 8090f4e..fe0c400 100755 --- a/smartypants.py +++ b/smartypants.py @@ -15,7 +15,7 @@ default_smartypants_attr = "1" import re -tags_to_skip_regex = re.compile(r"<(/)?(pre|code|kbd|script|math)[^>]*>", re.I) +tags_to_skip_regex = re.compile('<(/)?(pre|code|kbd|script|math)[^>]*>', re.I) def verify_installation(request): @@ -230,19 +230,19 @@ def educateQuotes(text): # Special case if the very first character is a quote # followed by punctuation at a non-word-break. Close the quotes by brute # force: - text = re.sub(r"""^'(?=%s\\B)""" % (punct_class,), r"""’""", text) - text = re.sub(r"""^"(?=%s\\B)""" % (punct_class,), r"""”""", text) + text = re.sub(r"""^'(?=%s\\B)""" % (punct_class,), '’', text) + text = re.sub(r"""^"(?=%s\\B)""" % (punct_class,), '”', text) # Special case for double sets of quotes, e.g.: # <p>He said, "'Quoted' words in a larger quote."</p> - text = re.sub(r""""'(?=\w)""", """“‘""", text) - text = re.sub(r"""'"(?=\w)""", """‘“""", text) + text = re.sub(r""""'(?=\w)""", '“‘', text) + text = re.sub(r"""'"(?=\w)""", '‘“', text) # Special case for decade abbreviations (the '80s): - text = re.sub(r"""\b'(?=\d{2}s)""", r"""’""", text) + text = re.sub(r"""\b'(?=\d{2}s)""", '’', text) - close_class = r"""[^\ \t\r\n\[\{\(\-]""" - dec_dashes = r"""–|—""" + close_class = r'[^\ \t\r\n\[\{\(\-]' + dec_dashes = '–|—' # Get most opening single quotes: opening_single_quotes_regex = re.compile(r""" @@ -257,24 +257,24 @@ def educateQuotes(text): ' # the quote (?=\w) # followed by a word character """ % (dec_dashes,), re.VERBOSE) - text = opening_single_quotes_regex.sub(r"""\1‘""", text) + text = opening_single_quotes_regex.sub(r'\1‘', text) closing_single_quotes_regex = re.compile(r""" (%s) ' (?!\s | s\b | \d) """ % (close_class,), re.VERBOSE) - text = closing_single_quotes_regex.sub(r"""\1’""", text) + text = closing_single_quotes_regex.sub(r'\1’', text) closing_single_quotes_regex = re.compile(r""" (%s) ' (\s | s\b) """ % (close_class,), re.VERBOSE) - text = closing_single_quotes_regex.sub(r"""\1’\2""", text) + text = closing_single_quotes_regex.sub(r'\1’\2', text) # Any remaining single quotes should be opening ones: - text = re.sub(r"""'""", r"""‘""", text) + text = re.sub("'", '‘', text) # Get most opening double quotes: opening_double_quotes_regex = re.compile(r""" @@ -289,7 +289,7 @@ def educateQuotes(text): " # the quote (?=\w) # followed by a word character """ % (dec_dashes,), re.VERBOSE) - text = opening_double_quotes_regex.sub(r"""\1“""", text) + text = opening_double_quotes_regex.sub(r'\1“', text) # Double closing quotes: closing_double_quotes_regex = re.compile(r""" @@ -297,16 +297,16 @@ def educateQuotes(text): " (?=\s) """ % (close_class,), re.VERBOSE) - text = closing_double_quotes_regex.sub(r"""”""", text) + text = closing_double_quotes_regex.sub('”', text) closing_double_quotes_regex = re.compile(r""" (%s) # character that indicates the quote should be closing " """ % (close_class,), re.VERBOSE) - text = closing_double_quotes_regex.sub(r"""\1”""", text) + text = closing_double_quotes_regex.sub(r'\1”', text) # Any remaining quotes should be opening ones. - text = re.sub(r'"', r"""“""", text) + text = re.sub('"', '“', text) return text @@ -320,8 +320,8 @@ def educateBackticks(text): Example output: “Isn't this fun?” """ - text = re.sub(r"""``""", r"""“""", text) - text = re.sub(r"""''""", r"""”""", text) + text = re.sub('``', '“', text) + text = re.sub("''", '”', text) return text @@ -335,8 +335,8 @@ def educateSingleBackticks(text): Example output: ‘Isn’t this fun?’ """ - text = re.sub(r"""`""", r"""‘""", text) - text = re.sub(r"""'""", r"""’""", text) + text = re.sub('`', '‘', text) + text = re.sub("'", '’', text) return text @@ -348,8 +348,8 @@ def educateDashes(text): an em-dash HTML entity. """ - text = re.sub(r"""---""", r"""–""", text) # en (yes, backwards) - text = re.sub(r"""--""", r"""—""", text) # em (yes, backwards) + text = re.sub('---', '–', text) # en (yes, backwards) + text = re.sub('--', '—', text) # em (yes, backwards) return text @@ -362,8 +362,8 @@ def educateDashesOldSchool(text): an em-dash HTML entity. """ - text = re.sub(r"""---""", r"""—""", text) # em (yes, backwards) - text = re.sub(r"""--""", r"""–""", text) # en (yes, backwards) + text = re.sub('---', '—', text) # em (yes, backwards) + text = re.sub('--', '–', text) # en (yes, backwards) return text @@ -382,8 +382,9 @@ def educateDashesOldSchoolInverted(text): the shortcut should be shorter to type. (Thanks to Aaron Swartz for the idea.) """ - text = re.sub(r"""---""", r"""–""", text) # em - text = re.sub(r"""--""", r"""—""", text) # en + + text = re.sub('---', '–', text) # em + text = re.sub('--', '—', text) # en return text @@ -397,8 +398,8 @@ def educateEllipses(text): Example output: Huh…? """ - text = re.sub(r"""\.\.\.""", r"""…""", text) - text = re.sub(r"""\. \. \.""", r"""…""", text) + text = re.sub(r"""\.\.\.""", '…', text) + text = re.sub(r"""\. \. \.""", '…', text) return text @@ -412,16 +413,16 @@ def stupefyEntities(text): Example output: "Hello -- world." """ - text = re.sub(r"""–""", r"""-""", text) # en-dash - text = re.sub(r"""—""", r"""--""", text) # em-dash + text = re.sub('–', '-', text) # en-dash + text = re.sub('—', '--', text) # em-dash - text = re.sub(r"""‘""", r"""'""", text) # open single quote - text = re.sub(r"""’""", r"""'""", text) # close single quote + text = re.sub('‘', "'", text) # open single quote + text = re.sub('’', "'", text) # close single quote - text = re.sub(r"""“""", r'''"''', text) # open double quote - text = re.sub(r"""”""", r'''"''', text) # close double quote + text = re.sub('“', '"', text) # open double quote + text = re.sub('”', '"', text) # close double quote - text = re.sub(r"""…""", r"""...""", text) # ellipsis + text = re.sub('…', '...', text) # ellipsis return text @@ -442,12 +443,13 @@ def processEscapes(text): \- - \` ` """ - text = re.sub(r"""\\\\""", r"""\""", text) - text = re.sub(r'''\\"''', r""""""", text) - text = re.sub(r"""\\'""", r"""'""", text) - text = re.sub(r"""\\\.""", r""".""", text) - text = re.sub(r"""\\-""", r"""-""", text) - text = re.sub(r"""\\`""", r"""`""", text) + + text = re.sub(r'\\\\', '\', text) + text = re.sub(r'\\"', '"', text) + text = re.sub(r"\\'", ''', text) + text = re.sub(r'\\\.', '.', text) + text = re.sub(r'\\-', '-', text) + text = re.sub(r'\\`', '`', text) return text @@ -468,7 +470,7 @@ def _tokenize(text): tokens = [] - tag_soup = re.compile(r"""([^<]*)(<[^>]*>)""") + tag_soup = re.compile('([^<]*)(<[^>]*>)') token_match = tag_soup.search(text) |