diff options
| author | Vladimir Gorej | 2013-12-07 12:00:20 +0100 | 
|---|---|---|
| committer | Vladimir Gorej | 2013-12-07 12:00:20 +0100 | 
| commit | a21caf8e1b119d75859cfb4118ba7cb908805477 (patch) | |
| tree | b442e38460ffd42adaf56bba13325a8f37c92a54 | |
| parent | e17323d333569dc44e007d54c477298c1ae4b0d0 (diff) | |
| download | django-brevisurl-a21caf8e1b119d75859cfb4118ba7cb908805477.tar.bz2 | |
Version 2.0.0 bump.2.0.0
| -rw-r--r-- | .gitignore | 2 | ||||
| -rw-r--r-- | CHANGELOG.rst | 24 | ||||
| -rw-r--r-- | MANIFEST.in | 3 | ||||
| -rw-r--r-- | Makefile | 17 | ||||
| -rw-r--r-- | README.rst | 28 | ||||
| -rw-r--r-- | brevisurl/__init__.py | 6 | ||||
| -rw-r--r-- | brevisurl/models.py | 7 | ||||
| -rw-r--r-- | brevisurl/tests/templatetags/test_brevisurltags.py | 4 | ||||
| -rw-r--r-- | manage.py | 13 | ||||
| -rwxr-xr-x | scripts/setup.sh | 74 | ||||
| -rwxr-xr-x | scripts/teardown.sh | 4 | ||||
| -rw-r--r-- | setup.py | 5 | 
12 files changed, 175 insertions, 12 deletions
| @@ -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 @@ -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 <<EOF +DEBUG = True + +DATABASES = { +    'default': { +            'ENGINE': 'django.db.backends.sqlite3', +            'NAME': 'test.db', +    }, +} + +MIDDLEWARE_CLASSES = ( +    'django.middleware.common.CommonMiddleware', +    'django.contrib.sessions.middleware.SessionMiddleware', +    'django.middleware.csrf.CsrfViewMiddleware', +    'django.contrib.auth.middleware.AuthenticationMiddleware', +    'django.contrib.messages.middleware.MessageMiddleware', +) + +TEMPLATE_CONTEXT_PROCESSORS = ( +    'django.contrib.auth.context_processors.auth', +    'django.core.context_processors.debug', +    'django.core.context_processors.i18n', +    'django.core.context_processors.media', +    'django.core.context_processors.static', +    'django.core.context_processors.request', +    'django.core.context_processors.tz', +    'django.contrib.messages.context_processors.messages' +) + +INSTALLED_APPS = ( +    'django.contrib.auth', +    'django.contrib.contenttypes', +    'django.contrib.sessions', +    'django.contrib.staticfiles', +    'django.contrib.sites', +    'south', +    'brevisurl', +) + +SITE_ID = 1 + +STATIC_URL = '/static/' + +SECRET_KEY = 'secret_key' +ROOT_URLCONF = 'brevisurl.urls' + +LOGGING = { +    'version': 1, +    'disable_existing_loggers': False, +    'handlers': { +        'null': { +            'level': 'DEBUG', +            'class': 'logging.NullHandler' +        }, +        'console': { +            'level': 'DEBUG', +            'class': 'logging.StreamHandler' +        }, +    }, +    'loggers': { +        '': { +            'handlers': ['null'], +            'level': 'DEBUG' +        } +    } +} + +EOF + +export PYTHONPATH=. +export DJANGO_SETTINGS_MODULE=settings
\ No newline at end of file diff --git a/scripts/teardown.sh b/scripts/teardown.sh new file mode 100755 index 0000000..1110322 --- /dev/null +++ b/scripts/teardown.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +rm -f $SETTINGS* +rm -f test.db
\ No newline at end of file @@ -13,10 +13,9 @@ def read(fname):      """      return open(os.path.join(os.path.dirname(__file__), fname)).read() -  setup(      name='django-brevisurl', -    version='1.0', +    version=__import__('brevisurl').__versionstr__,      description='django-brevisurl is django app for shortening urls',      long_description=read('README.rst'),      author=u'VladimĂr Gorej', @@ -26,7 +25,7 @@ setup(      license='BSD',      keywords = 'url short shortener',      packages=find_packages('.'), -    install_requires=['django'], +    install_requires=['django', 'south'],      platforms='any',      classifiers=[          'Development Status :: 5 - Production/Stable', | 
