def clean_url(self): original = utils.get_real_url(self.cleaned_data['url']) result = settings.BASEURL + utils.itou(models.get_free_id()) if len(original) <= len(result): logger.error(original) logger.error(result) raise forms.ValidationError("URL is short already") return original
def form_valid(self, form): url = form.cleaned_data['url'] seen = URL.objects.filter(url=url) if len(seen) > 0: su = seen[0] else: n = get_free_id() su = URL.objects.create(id=n, url=url, clicks=0) logger.debug(self.request.user) if self.request.user.is_authenticated(): su.owner = self.request.user su.save() self.pk = su.id self.short = itou(su.id) self.url = su.url return super(Home, self).form_valid(form)