def handleMatch(self, m): # keep the username without @ username = m.group(2)[1:] from django.contrib.auth.models import User try: user = User.objects.get(username=username) except User.DoesNotExist: return m.group(2) user_profile_url = full_url(reverse("kii:user_area:user:profile", kwargs={"username": user.username})) el = util.etree.Element("a") el.set('href', user_profile_url) el.text = m.group(2) return el
def handleMatch(self, m): pattern = "#{0}/{1}".format(self.contenttype, m.group(3)) try: identifier = self.get_identifier(m.group(3)) except ValueError: return pattern try: target = self.get_object(identifier) except self.get_model().DoesNotExist: return pattern el = util.etree.Element("a") el.set('href', full_url(target.get_absolute_url())) anchor = m.group(4) if anchor: # remove parenthesis anchor = anchor[1:-1] else: anchor = pattern el.text = anchor return el
def full_url(self, *args, **kwargs): return full_url(*args, **kwargs)