예제 #1
0
 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
예제 #2
0
 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
예제 #3
0
 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
예제 #4
0
파일: link.py 프로젝트: vitoordaz/qlicker
 def __init__(self, *args, **kwargs):
     if 'url' in kwargs:
         kwargs['url'] = utils.normalize_url(kwargs['url'])
     super(Link, self).__init__(*args, **kwargs)