From cd8ea572c5edf949711974ffeb5c1c446c645f95 Mon Sep 17 00:00:00 2001 From: facelessuser Date: Tue, 28 Nov 2017 23:22:04 -0700 Subject: [PATCH] Upgrade to 4.5.1 --- README.md | 2 +- st3/pymdownx/__version__.py | 2 +- st3/pymdownx/magiclink.py | 26 ++++++++++++++++++-------- 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index aee7198..ab800e4 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ PyMdown Extensions for Sublime Text -Current version: 4.5.0 +Current version: 4.5.1 diff --git a/st3/pymdownx/__version__.py b/st3/pymdownx/__version__.py index 67b1b61..e2a9fe2 100644 --- a/st3/pymdownx/__version__.py +++ b/st3/pymdownx/__version__.py @@ -1,7 +1,7 @@ """Version.""" # (major, minor, micro, release type, pre-release build, post-release build) -version_info = (4, 5, 0, 'final', 0, 0) +version_info = (4, 5, 1, 'final', 0, 0) def _version(): diff --git a/st3/pymdownx/magiclink.py b/st3/pymdownx/magiclink.py index d3209e4..2a7a0a3 100644 --- a/st3/pymdownx/magiclink.py +++ b/st3/pymdownx/magiclink.py @@ -184,14 +184,13 @@ class _MagiclinkShorthandPattern(Pattern): """Base shorthand link class.""" - def __init__(self, pattern, md, user, repo, provider, labels, external=False): + def __init__(self, pattern, md, user, repo, provider, labels): """Initialize.""" self.user = user self.repo = repo self.labels = labels - self.provider = provider - self.external = external + self.provider = provider if provider in PROVIDER_INFO else '' Pattern.__init__(self, pattern, md) @@ -546,7 +545,6 @@ class MagiclinkMentionPattern(_MagiclinkShorthandPattern): def handleMatch(self, m): """Handle email link patterns.""" - el = md_util.etree.Element("a") text = m.group('mention')[1:] parts = text.split(':') if len(parts) > 1: @@ -556,6 +554,7 @@ def handleMatch(self, m): provider = self.provider mention = parts[0] + el = md_util.etree.Element("a") el.set('href', '%s/%s' % (PROVIDER_INFO[provider]['url'], mention)) el.set( 'title', @@ -572,7 +571,6 @@ class MagiclinkRepositoryPattern(_MagiclinkShorthandPattern): def handleMatch(self, m): """Handle email link patterns.""" - el = md_util.etree.Element("a") text = m.group('mention')[1:] parts = text.split(':') if len(parts) > 1: @@ -583,6 +581,7 @@ def handleMatch(self, m): user = parts[0] repo = m.group('mention_repo') + el = md_util.etree.Element("a") el.set('href', '%s/%s/%s' % (PROVIDER_INFO[provider]['url'], user, repo)) el.set( 'title', @@ -601,8 +600,6 @@ class MagiclinkExternalRefsPattern(_MagiclinkReferencePattern): def handleMatch(self, m): """Handle email link patterns.""" - el = md_util.etree.Element("a") - is_commit = m.group('commit') is_diff = m.group('diff') value = m.group('commit')[1:] if is_commit else m.group('issue') @@ -620,9 +617,14 @@ def handleMatch(self, m): else: provider = self.provider + # If there is no valid user or provider, return plain text + if not user: + return m.group(0) + self.my_user = user == self.user and provider == self.provider self.my_repo = self.my_user and repo == self.repo + el = md_util.etree.Element("a") if is_diff: self.process_compare(el, provider, user, repo, value, value2) elif is_commit: @@ -638,7 +640,10 @@ class MagiclinkInternalRefsPattern(_MagiclinkReferencePattern): def handleMatch(self, m): """Handle email link patterns.""" - el = md_util.etree.Element("a") + # We don't have a valid provider, user, and repo, so just return the text + if not self.user or not self.repo: + return m.group(0) + is_commit = m.group('commit') is_diff = m.group('diff') value = m.group('commit') if is_commit else m.group('issue') @@ -650,6 +655,7 @@ def handleMatch(self, m): self.my_repo = True self.my_user = True + el = md_util.etree.Element("a") if is_diff: self.process_compare(el, provider, user, repo, value, value2) elif is_commit: @@ -808,6 +814,10 @@ def extendMarkdown(self, md, md_globals): self.git_short = config.get('repo_url_shorthand', False) self.social_short = config.get('social_url_shorthand', False) + # Ensure valid provider + if self.provider not in PROVIDER_INFO: + self.provider = 'github' + int_mentions = None ext_mentions = [] if self.git_short: