From a7b33172e3792644a132d9631915837e1ce9904a Mon Sep 17 00:00:00 2001 From: Vladimir Gorej Date: Tue, 29 May 2012 13:17:17 +0200 Subject: Added support for bypasing django site framework --- brevisurl/backends/local.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'brevisurl/backends/local.py') diff --git a/brevisurl/backends/local.py b/brevisurl/backends/local.py index 42d0263..1b72e64 100644 --- a/brevisurl/backends/local.py +++ b/brevisurl/backends/local.py @@ -3,7 +3,9 @@ import random import logging from django.contrib.sites.models import Site +from django.core.urlresolvers import reverse +import brevisurl.settings from brevisurl.backends.base import BaseBrevisUrlBackend from brevisurl.models import ShortUrl @@ -27,11 +29,17 @@ class BrevisUrlBackend(BaseBrevisUrlBackend): pass try: - current_site = Site.objects.get_current() short_url = ShortUrl() + if brevisurl.settings.LOCAL_BACKEND_DOMAIN is not None: + short_url.shortened_url = '{0}{1}'.format(brevisurl.settings.LOCAL_BACKEND_DOMAIN.rstrip('/'), + reverse('brevisurl_redirect', + kwargs={'token': self.__generate_token()})) + else: + current_site = Site.objects.get_current() + short_url.shortened_url = '{0}://{1}{2}'.format(self.PROTOCOL, current_site.domain, + reverse('brevisurl_redirect', + kwargs={'token': self.__generate_token()})) short_url.original_url = original_url - short_url.shortened_url = '{0}://{1}/{2}'.format(self.PROTOCOL, current_site.domain, - self.__generate_token()) short_url.backend = self.class_path short_url.save() log.info('Url "%s" shortened to "%s"', original_url, short_url.shortened_url) -- cgit v1.2.3