Commit 213c4b3f authored by Tim Heap's avatar Tim Heap Committed by GitHub
Browse files

Merge pull request #1 from takeflight/autotests

Added travis and tox configs, python2 compatibility, made Video.duration a DurationField.
parents 9b5b8662 69f5b131
...@@ -4,3 +4,4 @@ dist/ ...@@ -4,3 +4,4 @@ dist/
./settings.py ./settings.py
venv/ venv/
tests.sqlite3 tests.sqlite3
.tox
language: python
cache: pip
# Matrix of build options
python:
- '2.7'
- '3.4'
- '3.5'
env:
global:
- DJANGO_SETTINGS_MODULE="tests.app.settings"
- TOX_ENV=
matrix:
- DJANGO='18' WAGTAIL='14'
- DJANGO='19' WAGTAIL='14'
- DJANGO='18' WAGTAIL='15'
- DJANGO='19' WAGTAIL='15'
before_install:
# - sudo add-apt-repository ppa:mc3man/trusty-media -y // Inlcudes all multimedia options but 404s currently :(
- sudo apt-get update -qq
- sudo apt-get install ffmpeg -y
install:
- pip install --upgrade pip wheel tox
cache:
directories:
- $HOME/.cache/pip
- $HOME/virtualenv
script:
# Run tox using either a specific environment from TOX_ENV,
# or building one from the environment variables
- tox -e "${TOX_ENV:-py${TRAVIS_PYTHON_VERSION/./}-dj${DJANGO}-wt${WAGTAIL}}"
...@@ -36,6 +36,11 @@ setup( ...@@ -36,6 +36,11 @@ setup(
'Intended Audience :: Developers', 'Intended Audience :: Developers',
'Operating System :: OS Independent', 'Operating System :: OS Independent',
'Programming Language :: Python', 'Programming Language :: Python',
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Framework :: Django', 'Framework :: Django',
'License :: OSI Approved :: BSD License', 'License :: OSI Approved :: BSD License',
], ],
......
from __future__ import unicode_literals
from django.db import models from django.db import models
from wagtail.wagtailcore.models import Page from wagtail.wagtailcore.models import Page
from wagtailvideos.edit_handlers import VideoChooserPanel from wagtailvideos.edit_handlers import VideoChooserPanel
......
from __future__ import unicode_literals
import os import os
INSTALLED_APPS = [ INSTALLED_APPS = [
......
from __future__ import unicode_literals
import re import re
from django.conf import settings from django.conf import settings
......
from __future__ import unicode_literals
import json import json
from django.contrib.auth import get_user_model from django.contrib.auth import get_user_model
...@@ -6,13 +8,14 @@ from django.core.files.uploadedfile import SimpleUploadedFile ...@@ -6,13 +8,14 @@ from django.core.files.uploadedfile import SimpleUploadedFile
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.template.defaultfilters import filesizeformat from django.template.defaultfilters import filesizeformat
from django.test import TestCase, override_settings from django.test import TestCase, override_settings
from tests.utils import create_test_video_file
from wagtail.tests.utils import WagtailTestUtils from wagtail.tests.utils import WagtailTestUtils
from wagtail.wagtailcore.models import Collection, GroupCollectionPermission from wagtail.wagtailcore.models import Collection, GroupCollectionPermission
from tests.utils import create_test_video_file
from wagtailvideos.models import Video from wagtailvideos.models import Video
class TestVideoIndexView(TestCase, WagtailTestUtils): class TestVideoIndexView(WagtailTestUtils, TestCase):
def setUp(self): def setUp(self):
self.login() self.login()
......
from __future__ import unicode_literals
from django.template import Context, Template, TemplateSyntaxError from django.template import Context, Template, TemplateSyntaxError
from django.test import TestCase from django.test import TestCase
from tests.utils import create_test_video_file from tests.utils import create_test_video_file
from wagtailvideos.models import Video from wagtailvideos.models import Video
......
from __future__ import unicode_literals
import os import os
import tests
from django.core.files import File from django.core.files import File
import tests
def create_test_video_file(): def create_test_video_file():
video_file = open(os.path.join(tests.__path__[0], 'small.mp4'), 'rb') video_file = open(os.path.join(tests.__path__[0], 'small.mp4'), 'rb')
......
[tox]
skip_missing_interpreters = True
envlist =
py{27,34,35}-dj{18,19}-wt{14,15}
[testenv]
commands=python runtests.py {posargs}
usedevelop = True
pip_pre = True
basepython =
py27: python2.7
py34: python3.4
py35: python3.5
deps =
dj18: Django~=1.8.0
dj19: Django~=1.9.0
wt13: wagtail~=1.3.0
wt14: wagtail~=1.4.0
wt15: wagtail~=1.5.0
from __future__ import absolute_import, print_function, unicode_literals
from django.apps import AppConfig from django.apps import AppConfig
from django.core.checks import Error, register from django.core.checks import Error, register
from wagtailvideos.utils import which from wagtailvideos.utils import which
......
from __future__ import absolute_import, unicode_literals from __future__ import absolute_import, print_function, unicode_literals
from wagtail.wagtailadmin.edit_handlers import BaseChooserPanel from wagtail.wagtailadmin.edit_handlers import BaseChooserPanel
......
from __future__ import absolute_import, print_function, unicode_literals
import os import os
from django.conf import settings from django.conf import settings
......
from __future__ import absolute_import, print_function, unicode_literals
from django import forms from django import forms
from django.forms.models import modelform_factory from django.forms.models import modelform_factory
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext as _
from enumchoicefield.forms import EnumField
from wagtail.wagtailadmin import widgets from wagtail.wagtailadmin import widgets
from wagtail.wagtailadmin.forms import (BaseCollectionMemberForm, from wagtail.wagtailadmin.forms import (BaseCollectionMemberForm,
collection_member_permission_formset_factory) collection_member_permission_formset_factory)
from enumchoicefield.forms import EnumField
from wagtailvideos.fields import WagtailVideoField from wagtailvideos.fields import WagtailVideoField
from wagtailvideos.models import MediaFormats, Video from wagtailvideos.models import MediaFormats, Video
from wagtailvideos.permissions import \ from wagtailvideos.permissions import \
...@@ -52,8 +54,8 @@ def get_video_form(model): ...@@ -52,8 +54,8 @@ def get_video_form(model):
class VideoTranscodeAdminForm(forms.Form): class VideoTranscodeAdminForm(forms.Form):
media_format = EnumField(MediaFormats) media_format = EnumField(MediaFormats)
def __init__(self, data=None, *, video, **kwargs): def __init__(self, video, data=None, **kwargs):
super().__init__(**kwargs, data=None) super(VideoTranscodeAdminForm, self).__init__(data=None, **kwargs)
self.video = video self.video = video
def save(self): def save(self):
......
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Generated by Django 1.9.1 on 2016-03-02 01:50 # Generated by Django 1.9.1 on 2016-03-02 01:50
from __future__ import unicode_literals from __future__ import absolute_import, print_function, unicode_literals
import django.db.models.deletion import django.db.models.deletion
import taggit.managers import taggit.managers
import wagtail.wagtailadmin.taggable import wagtail.wagtailadmin.taggable
import wagtail.wagtailcore.models import wagtail.wagtailcore.models
import wagtailvideos.models
from django.conf import settings from django.conf import settings
from django.db import migrations, models from django.db import migrations, models
import wagtailvideos.models
class Migration(migrations.Migration): class Migration(migrations.Migration):
......
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Generated by Django 1.9.1 on 2016-03-21 05:10 # Generated by Django 1.9.1 on 2016-03-21 05:10
from __future__ import unicode_literals from __future__ import absolute_import, print_function, unicode_literals
import wagtailvideos.models
from django.db import migrations, models from django.db import migrations, models
import wagtailvideos.models
class Migration(migrations.Migration): class Migration(migrations.Migration):
......
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-07-05 06:46 # Generated by Django 1.9.7 on 2016-07-05 06:46
from __future__ import unicode_literals from __future__ import absolute_import, print_function, unicode_literals
import django.db.models.deletion import django.db.models.deletion
import enumchoicefield.fields import enumchoicefield.fields
import wagtailvideos.models
from django.db import migrations, models from django.db import migrations, models
import wagtailvideos.models
class Migration(migrations.Migration): class Migration(migrations.Migration):
......
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-07-06 01:53 # Generated by Django 1.9.7 on 2016-07-06 01:53
from __future__ import unicode_literals from __future__ import absolute_import, print_function, unicode_literals
import wagtailvideos.models
from django.db import migrations, models from django.db import migrations, models
import wagtailvideos.models
class Migration(migrations.Migration): class Migration(migrations.Migration):
......
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-07-06 04:59 # Generated by Django 1.9.7 on 2016-07-06 04:59
from __future__ import unicode_literals from __future__ import absolute_import, print_function, unicode_literals
from django.db import migrations, models from django.db import migrations, models
......
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-07-07 04:13 # Generated by Django 1.9.7 on 2016-07-07 04:13
from __future__ import unicode_literals from __future__ import absolute_import, print_function, unicode_literals
import wagtailvideos.models
from django.db import migrations, models from django.db import migrations, models
import wagtailvideos.models
class Migration(migrations.Migration): class Migration(migrations.Migration):
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment