Commit 8a99ed810e9e94cb9dff1c362b2c4ebe2e37dead

Authored by Jannis Leidel
2 parents 6ec2c956 c991db41

Merge pull request #17 from NotSqrt/master

django 1.7 compatibility, tox, travis
... ... @@ -7,5 +7,14 @@ python:
7 7 env:
8 8 - DJANGO_PACKAGE="Django>=1.5,<1.6"
9 9 - DJANGO_PACKAGE="Django>=1.6,<1.7"
10   -install: pip install $DJANGO_PACKAGE --use-mirrors
  10 + - DJANGO_PACKAGE="Django>=1.7,<1.8"
  11 +
  12 +matrix:
  13 + exclude:
  14 + - python: "2.6"
  15 + env: DJANGO_PACKAGE="Django>=1.7,<1.8"
  16 +
  17 +install:
  18 + - pip install $DJANGO_PACKAGE --use-mirrors
  19 + - if [[ $TRAVIS_PYTHON_VERSION == 2.6 ]]; then pip install --use-mirrors unittest2; fi
11 20 script: python setup.py test
... ...
  1 +# -*- coding: utf-8 -*-
  2 +from __future__ import unicode_literals
  3 +
  4 +from django.db import models, migrations
  5 +from django.conf import settings
  6 +
  7 +
  8 +class Migration(migrations.Migration):
  9 +
  10 + dependencies = [
  11 + ('sites', '0001_initial'),
  12 + migrations.swappable_dependency(settings.AUTH_USER_MODEL),
  13 + ('contenttypes', '0001_initial'),
  14 + ]
  15 +
  16 + operations = [
  17 + migrations.CreateModel(
  18 + name='Comment',
  19 + fields=[
  20 + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  21 + ('object_pk', models.TextField(verbose_name='object ID')),
  22 + ('user_name', models.CharField(max_length=50, verbose_name="user's name", blank=True)),
  23 + ('user_email', models.EmailField(max_length=75, verbose_name="user's email address", blank=True)),
  24 + ('user_url', models.URLField(verbose_name="user's URL", blank=True)),
  25 + ('comment', models.TextField(max_length=3000, verbose_name='comment')),
  26 + ('submit_date', models.DateTimeField(default=None, verbose_name='date/time submitted')),
  27 + ('ip_address', models.GenericIPAddressField(unpack_ipv4=True, null=True, verbose_name='IP address', blank=True)),
  28 + ('is_public', models.BooleanField(default=True, help_text='Uncheck this box to make the comment effectively disappear from the site.', verbose_name='is public')),
  29 + ('is_removed', models.BooleanField(default=False, help_text='Check this box if the comment is inappropriate. A "This comment has been removed" message will be displayed instead.', verbose_name='is removed')),
  30 + ('content_type', models.ForeignKey(related_name='content_type_set_for_comment', verbose_name='content type', to='contenttypes.ContentType')),
  31 + ('site', models.ForeignKey(to='sites.Site')),
  32 + ('user', models.ForeignKey(related_name='comment_comments', verbose_name='user', blank=True, to=settings.AUTH_USER_MODEL, null=True)),
  33 + ],
  34 + options={
  35 + 'ordering': ('submit_date',),
  36 + 'db_table': 'django_comments',
  37 + 'verbose_name': 'comment',
  38 + 'verbose_name_plural': 'comments',
  39 + 'permissions': [('can_moderate', 'Can moderate comments')],
  40 + },
  41 + bases=(models.Model,),
  42 + ),
  43 + migrations.CreateModel(
  44 + name='CommentFlag',
  45 + fields=[
  46 + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  47 + ('flag', models.CharField(max_length=30, verbose_name='flag', db_index=True)),
  48 + ('flag_date', models.DateTimeField(default=None, verbose_name='date')),
  49 + ('comment', models.ForeignKey(related_name='flags', verbose_name='comment', to='django_comments.Comment')),
  50 + ('user', models.ForeignKey(related_name='comment_flags', verbose_name='user', to=settings.AUTH_USER_MODEL)),
  51 + ],
  52 + options={
  53 + 'db_table': 'django_comment_flags',
  54 + 'verbose_name': 'comment flag',
  55 + 'verbose_name_plural': 'comment flags',
  56 + },
  57 + bases=(models.Model,),
  58 + ),
  59 + migrations.AlterUniqueTogether(
  60 + name='commentflag',
  61 + unique_together=set([('user', 'comment', 'flag')]),
  62 + ),
  63 + ]
... ...
... ... @@ -10,7 +10,7 @@ except IOError:
10 10
11 11 setup(
12 12 name='django-contrib-comments',
13   - version='1.5',
  13 + version='1.5.1',
14 14 url="http://github.com/django/django-contrib-comments",
15 15 description='The code formerly known as django.contrib.comments.',
16 16 long_description=long_description,
... ...
... ... @@ -6,6 +6,7 @@ Adapted from django-constance, which itself was adapted from django-adminfiles.
6 6
7 7 import os
8 8 import sys
  9 +import django
9 10
10 11 here = os.path.dirname(os.path.abspath(__file__))
11 12 parent = os.path.dirname(here)
... ... @@ -24,6 +25,11 @@ settings.configure(
24 25 "testapp",
25 26 "custom_comments",
26 27 ],
  28 + MIDDLEWARE_CLASSES=(
  29 + 'django.contrib.sessions.middleware.SessionMiddleware',
  30 + 'django.contrib.auth.middleware.AuthenticationMiddleware',
  31 + 'django.contrib.messages.middleware.MessageMiddleware',
  32 + ),
27 33 ROOT_URLCONF = 'testapp.urls',
28 34 SECRET_KEY = "it's a secret to everyone",
29 35 SITE_ID = 1,
... ... @@ -32,6 +38,8 @@ settings.configure(
32 38 from django.test.simple import DjangoTestSuiteRunner
33 39
34 40 def main():
  41 + if django.VERSION >= (1, 7):
  42 + django.setup()
35 43 runner = DjangoTestSuiteRunner(failfast=True, verbosity=1)
36 44 failures = runner.run_tests(['testapp'], interactive=True)
37 45 sys.exit(failures)
... ...
... ... @@ -30,7 +30,7 @@ class Entry(models.Model):
30 30 title = models.CharField(max_length=250)
31 31 body = models.TextField()
32 32 pub_date = models.DateField()
33   - enable_comments = models.BooleanField()
  33 + enable_comments = models.BooleanField(default=False)
34 34
35 35 def __str__(self):
36 36 return self.title
... ...
1 1 from __future__ import absolute_import
2 2
  3 +try:
  4 + import unittest2 as unittest
  5 +except ImportError:
  6 + import unittest
  7 +
  8 +
  9 +import django
3 10 from django.conf import settings
4 11 from django.core.exceptions import ImproperlyConfigured
5 12 from django.test.utils import override_settings
... ... @@ -18,6 +25,7 @@ class CommentAppAPITests(CommentTestCase):
18 25 def testGetCommentApp(self):
19 26 self.assertEqual(django_comments.get_comment_app(), django_comments)
20 27
  28 + @unittest.skipIf(django.VERSION >= (1, 7), "Missing apps raise ImportError with django 1.7")
21 29 @override_settings(
22 30 COMMENTS_APP='missing_app',
23 31 INSTALLED_APPS=list(settings.INSTALLED_APPS) + ['missing_app'],
... ... @@ -47,8 +55,6 @@ class CommentAppAPITests(CommentTestCase):
47 55
48 56 @override_settings(
49 57 COMMENTS_APP='custom_comments',
50   - INSTALLED_APPS=list(settings.INSTALLED_APPS) + [
51   - 'custom_comments'],
52 58 )
53 59 class CustomCommentTest(CommentTestCase):
54 60 urls = 'testapp.urls'
... ...
1 1 [tox]
2 2 envlist = py26-django15, py27-django15, py32-django15, py33-django15,
3   - py26-django16, py27-django16, py32-django16, py33-django16
  3 + py26-django16, py27-django16, py32-django16, py33-django16,
  4 + py27-django17, py32-django17, py33-django17
4 5
5 6 [testenv]
6 7 commands = {envpython} setup.py test
7 8
8 9 [testenv:py26-django15]
9 10 basepython = python2.6
10   -deps = Django>=1.5,<1.6
  11 +deps =
  12 + Django>=1.5,<1.6
  13 + unittest2
11 14
12 15 [testenv:py27-django15]
13 16 basepython = python2.7
... ... @@ -23,7 +26,9 @@ deps = Django>=1.5,<1.6
23 26
24 27 [testenv:py26-django16]
25 28 basepython = python2.6
26   -deps = Django>=1.6,<1.7
  29 +deps =
  30 + Django>=1.6,<1.7
  31 + unittest2
27 32
28 33 [testenv:py27-django16]
29 34 basepython = python2.7
... ... @@ -37,3 +42,14 @@ deps = Django>=1.6,<1.7
37 42 basepython = python3.3
38 43 deps = Django>=1.6,<1.7
39 44
  45 +[testenv:py27-django17]
  46 +basepython = python2.7
  47 +deps = Django>=1.7,<1.8
  48 +
  49 +[testenv:py32-django17]
  50 +basepython = python3.2
  51 +deps = Django>=1.7,<1.8
  52 +
  53 +[testenv:py33-django17]
  54 +basepython = python3.3
  55 +deps = Django>=1.7,<1.8
... ...
Please register or login to post a comment