From a21caf8e1b119d75859cfb4118ba7cb908805477 Mon Sep 17 00:00:00 2001 From: Vladimir Gorej Date: Sat, 7 Dec 2013 12:00:20 +0100 Subject: Version 2.0.0 bump. --- .gitignore | 2 + CHANGELOG.rst | 24 +++++++ MANIFEST.in | 3 +- Makefile | 17 +++++ README.rst | 28 +++++++- brevisurl/__init__.py | 6 +- brevisurl/models.py | 7 +- brevisurl/tests/templatetags/test_brevisurltags.py | 4 +- manage.py | 13 ++++ scripts/setup.sh | 74 ++++++++++++++++++++++ scripts/teardown.sh | 4 ++ setup.py | 5 +- 12 files changed, 175 insertions(+), 12 deletions(-) create mode 100644 CHANGELOG.rst create mode 100644 Makefile create mode 100644 manage.py create mode 100755 scripts/setup.sh create mode 100755 scripts/teardown.sh diff --git a/.gitignore b/.gitignore index 972d7d1..29cfc82 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,5 @@ pip-log.txt* *.swn /dist/ /django_brevisurl.egg-info/ +/settings.py +/test.db \ No newline at end of file diff --git a/CHANGELOG.rst b/CHANGELOG.rst new file mode 100644 index 0000000..770a702 --- /dev/null +++ b/CHANGELOG.rst @@ -0,0 +1,24 @@ +Version 2.0.0 +------------- + +**Features** +- added support for django 1.5 +- added south as requirement, creating migrations is now possible + + +Version 1.0 +----------- + +Version 0.9.3 +------------- + +Version 0.9.2 +------------- + +Version 0.9.1 +------------- + +Version 0.9 +----------- + +Initial version \ No newline at end of file diff --git a/MANIFEST.in b/MANIFEST.in index b1eaf85..a56c95b 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,2 +1,3 @@ include README.rst -include LICENSE \ No newline at end of file +include LICENSE +include CHANGELOG.rst \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..e115ba4 --- /dev/null +++ b/Makefile @@ -0,0 +1,17 @@ +bootstrap: + pip install -e . --use-mirrors + pip install "file://`pwd`#egg=brevisurl" --use-mirrors + ./scripts/setup.sh + python manage.py syncdb --noinput --migrate + + +test: bootstrap + @echo "Running Python tests" + python manage.py test brevisurl + @echo "" + +clean: + rm -rf ./dist + rm -rf ./django_brevisurl.egg-info + rm -rf test.db + rm -rf settings.py \ No newline at end of file diff --git a/README.rst b/README.rst index ff18f3e..b3dff6b 100644 --- a/README.rst +++ b/README.rst @@ -184,6 +184,32 @@ To run the test run command: :: $ python manage.py test brevisurl +Development setup +----------------- +:: + + $ make bootstrap + $ python manage.py test brevisurl + +Tests +----- + +**Tested on evnironment** + +- Linux Mint 15 Olivia 64-bit +- python 2.7.4 +- python unitest + +**Running tests** + +To run the tests, execute one of the following command::: + + $ python manage.py test brevisurl + +Or::: + + $ make test + Author ------ @@ -198,4 +224,4 @@ References - http://github.com/CodeScaleInc/django-brevisurl - http://pypi.python.org/pypi/django-brevisurl/ - - http://www.codescale.net/en/community#django-brevisurl + - http://www.codescale.net/en/community#django-brevisurl \ No newline at end of file diff --git a/brevisurl/__init__.py b/brevisurl/__init__.py index b929f1f..9429381 100644 --- a/brevisurl/__init__.py +++ b/brevisurl/__init__.py @@ -4,8 +4,8 @@ try: except ImportError: from StringIO import StringIO -import brevisurl.settings -from brevisurl.utils import load_object + +__versionstr__ = '2.0.0' def get_connection(backend=None, fail_silently=False, **kwargs): @@ -23,6 +23,8 @@ def get_connection(backend=None, fail_silently=False, **kwargs): :rtype: brevisurl.backends.base.BaseBrevisUrlBackend """ + import brevisurl.settings + from brevisurl.utils import load_object path = backend or brevisurl.settings.DEFAULT_BACKEND klass = load_object(path) return klass(fail_silently=fail_silently, **kwargs) diff --git a/brevisurl/models.py b/brevisurl/models.py index 84aeff1..cb5575b 100644 --- a/brevisurl/models.py +++ b/brevisurl/models.py @@ -2,7 +2,6 @@ import hashlib import logging from django.core.exceptions import ValidationError -from django.conf import settings from django.db import models from django.core.validators import URLValidator @@ -15,7 +14,8 @@ log = logging.getLogger(__name__) class ShortUrl(models.Model): """Model that represents shortened url.""" - original_url = models.URLField(max_length=brevis.settings.LOCAL_BACKEND_ORIGINAL_URL_MAX_LENGTH, null=False, blank=False) + original_url = models.URLField(max_length=brevisurl.settings.LOCAL_BACKEND_ORIGINAL_URL_MAX_LENGTH, + null=False, blank=False) original_url_hash = models.CharField(max_length=64, null=False, blank=False) shortened_url = models.URLField(max_length=200, null=False, blank=False, unique=True) backend = models.CharField(max_length=200, null=False, blank=False) @@ -27,7 +27,8 @@ class ShortUrl(models.Model): def get_connection(self, fail_silently=False): if not hasattr(self, 'brevis_connection'): if self.pk is not None: - self.brevis_connection = get_connection(backend=self.backend, fail_silently=fail_silently) + self.brevis_connection = get_connection(backend=self.backend, + fail_silently=fail_silently) else: self.brevis_connection = get_connection(fail_silently=fail_silently) return self.brevis_connection diff --git a/brevisurl/tests/templatetags/test_brevisurltags.py b/brevisurl/tests/templatetags/test_brevisurltags.py index 808dc2d..181b7a7 100644 --- a/brevisurl/tests/templatetags/test_brevisurltags.py +++ b/brevisurl/tests/templatetags/test_brevisurltags.py @@ -30,7 +30,7 @@ class TestShortenUrlTag(TestCase): def test_absurl_tag(self): url = Template(""" {% load brevisurltags %} - {% absurl brevisurl_redirect token='12345' as brevis_url %} + {% absurl "brevisurl_redirect" token='12345' as brevis_url %} {{ brevis_url|shorten_url }} """).render(Context()).strip() self.assertEqual(ShortUrl.objects.all().count(), 1) @@ -42,7 +42,7 @@ class TestShortenUrlTag(TestCase): brevisurl.settings.LOCAL_BACKEND_DOMAIN = 'http://brevisurl.net/' url = Template(""" {% load brevisurltags %} - {% absurl brevisurl_redirect token='12345' as brevis_url %} + {% absurl "brevisurl_redirect" token='12345' as brevis_url %} {{ brevis_url|shorten_url }} """).render(Context()).strip() self.assertEqual(ShortUrl.objects.all().count(), 1) diff --git a/manage.py b/manage.py new file mode 100644 index 0000000..ddc8e33 --- /dev/null +++ b/manage.py @@ -0,0 +1,13 @@ +#!/usr/bin/env python +import os +import sys +from subprocess import call + + +if __name__ == "__main__": + call("./scripts/setup.sh") + os.environ["DJANGO_SETTINGS_MODULE"] = "settings" + + from django.core.management import execute_from_command_line + + execute_from_command_line(sys.argv) diff --git a/scripts/setup.sh b/scripts/setup.sh new file mode 100755 index 0000000..fbc6896 --- /dev/null +++ b/scripts/setup.sh @@ -0,0 +1,74 @@ +#!/bin/sh + +SETTINGS='settings.py' +cat > $SETTINGS <