Skip to content

Commit 6b787c9

Browse files
committed
Lift urlref regex creation to Textile constructor
1 parent c6f9c5d commit 6b787c9

1 file changed

Lines changed: 10 additions & 10 deletions

File tree

textile/core.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,15 @@ def __init__(self, restricted=False, lite=False, noimage=False,
212212
else:
213213
self.url_schemes = self.unrestricted_url_schemes
214214

215+
all_schemes_re_s = '|'.join([
216+
'(?:{0})'.format(scheme)
217+
for scheme in self.url_schemes
218+
])
219+
self.url_ref_regex = re.compile(
220+
r'(?:(?<=^)|(?<=\s))\[(.+)\]\s?((?:{0}:\/\/|\/)\S+)(?=\s|$)'.format(all_schemes_re_s),
221+
re.U
222+
)
223+
215224
def parse(self, text, rel=None, sanitize=False):
216225
"""Parse the input text as textile and return html output."""
217226
self.notes = OrderedDict()
@@ -612,16 +621,7 @@ def glyphs(self, text):
612621

613622
def getRefs(self, text):
614623
"""Capture and store URL references in self.urlrefs."""
615-
all_schemes = '|'.join([
616-
'(?:{0})'.format(scheme)
617-
for scheme in self.url_schemes
618-
])
619-
pattern = re.compile(
620-
r'(?:(?<=^)|(?<=\s))\[(.+)\]((?:{0}:\/\/|\/)\S+)(?=\s|$)'.format(all_schemes),
621-
re.U
622-
)
623-
text = pattern.sub(self.refs, text)
624-
return text
624+
return self.url_ref_regex.sub(self.refs, text)
625625

626626
def refs(self, match):
627627
flag, url = match.groups()

0 commit comments

Comments
 (0)