def clean_url(self): url = self.cleaned_data.get('url', None) if url: url = utils.normalize_url(url) if re.match(QLINK_PATTERN, url): raise forms.ValidationError(_('This link is already Qlink')) return url
def make_referer(self, referer): try: vurl = URLValidator() vurl(referer) referer = utils.normalize_url(referer) pr = urlparse.urlsplit(referer) domain = pr.netloc[:60] pr = list(pr) pr[0] = pr[1] = '' path = urlparse.urlunsplit(pr)[:255] except ValidationError: domain = path = '' return referer, domain, path
def save(self, user): match = URL_PATTERN.finditer(self.cleaned_data['url']) msg = self.cleaned_data['url'] objects = {'added': []} for url in match: normalized_url = utils.normalize_url(url.group()) if not QLINK_PATTERN.match(normalized_url): obj = link_model.Link.objects.create(url=normalized_url, owner=user) objects['added'].append({ 'code': obj.code, 'qlink': obj.qlink, 'url': url.group() }) msg = msg.replace(url.group(), obj.qlink) if self.operation == 'share': objects['status'] = user.update_status(msg) return objects
def __init__(self, *args, **kwargs): if 'url' in kwargs: kwargs['url'] = utils.normalize_url(kwargs['url']) super(Link, self).__init__(*args, **kwargs)