Unverified Commit 04aa2af2 authored by seb-b's avatar seb-b Committed by GitHub
Browse files

Merge pull request #40 from dirkmoors/compat/wagtail+2.7

Added compatibility for Wagtail >= 2.7, and updated testsuite to support Python >= 3.6
parents a9760de6 c20caee3
language: python language: python
cache: pip dist: xenial
dist: trusty
cache:
pip: true
directories:
- $HOME/.cache/pip
- $HOME/virtualenv
env: env:
global: global:
- DJANGO_SETTINGS_MODULE="tests.app.settings" - DJANGO_SETTINGS_MODULE="tests.app.settings"
python:
matrix: - "3.5"
include: - "3.6"
- env: TOXENV=py35-dj20-wt24 - "3.7"
python: 3.5 - "3.8"
- env: TOXENV=py35-dj21-wt24
python: 3.5
- env: TOXENV=py36-dj20-wt24
python: 3.6
- env: TOXENV=py36-dj21-wt24
python: 3.6
- env: TOXENV=py35-dj20-wt25
python: 3.5
- env: TOXENV=py35-dj21-wt25
python: 3.5
- env: TOXENV=py36-dj20-wt25
python: 3.6
- env: TOXENV=py36-dj21-wt25
python: 3.6
# - env: TOXENV=py36-dj22-wt25
# python: 3.6
- env: TOXENV='flake8,isort'
python: 3.5
before_install: before_install:
- sudo add-apt-repository ppa:mc3man/trusty-media -y - sudo add-apt-repository ppa:mc3man/xerus-media -y
- sudo apt-get update -qq - sudo apt-get update -qq
# The install of ffmpeg fails at random with 'There were unauthenticated packages' 🤷‍♂️ # The install of ffmpeg fails at random with 'There were unauthenticated packages' 🤷‍♂️
- sudo apt-get install ffmpeg --allow-unauthenticated -y - sudo apt-get install ffmpeg --allow-unauthenticated -y
install: install:
- pip install --upgrade pip wheel tox - pip install --upgrade pip wheel tox-travis
cache:
directories:
- $HOME/.cache/pip
- $HOME/virtualenv
script: script:
- tox - tox
...@@ -20,7 +20,7 @@ setup( ...@@ -20,7 +20,7 @@ setup(
install_requires=[ install_requires=[
'wagtail>=2.4', 'wagtail>=2.4',
'Django>=1.11', 'Django>=1.11',
'django-enumchoicefield==1.1.0', 'django-enumchoicefield>=1.1.0',
], ],
extras_require={ extras_require={
'testing': [ 'testing': [
......
import errno import errno
import os import os
from datetime import datetime from datetime import datetime
from urllib.parse import urljoin
from django.conf import settings from django.conf import settings
from django.core.files import File, locks from django.core.files import File, locks
...@@ -10,7 +11,6 @@ from django.utils import timezone ...@@ -10,7 +11,6 @@ from django.utils import timezone
from django.utils._os import safe_join from django.utils._os import safe_join
from django.utils.deconstruct import deconstructible from django.utils.deconstruct import deconstructible
from django.utils.encoding import filepath_to_uri, force_text from django.utils.encoding import filepath_to_uri, force_text
from django.utils.six.moves.urllib.parse import urljoin
@deconstructible @deconstructible
......
...@@ -2,11 +2,24 @@ ...@@ -2,11 +2,24 @@
skip_missing_interpreters = True skip_missing_interpreters = True
envlist = envlist =
py{35,36,37}-dj{20,21}-wt24 py{35,36,37,38}-dj{20,21}-wt24
py{35,36,37}-dj{20,21,22}-wt25 py{35,36,37,38}-dj{20,21,22}-wt25
py{35,36,37,38}-dj{20,21,22}-wt26
py{35,36,37,38}-dj{20,21,22}-wt27
py{35,36,37,38}-dj{20,21,22}-wt28
py{36,37,38}-dj{30}-wt27
py{36,37,38}-dj{30}-wt28
# Enforce good style # Enforce good style
flake8,isort flake8,isort
[travis]
python =
3.5: py35, flake8, isort
3.6: py36
3.7: py37
3.8: py38
[base] [base]
deps = mock deps = mock
...@@ -19,8 +32,12 @@ deps = ...@@ -19,8 +32,12 @@ deps =
dj20: Django~=2.0.0 dj20: Django~=2.0.0
dj21: Django~=2.1.0 dj21: Django~=2.1.0
dj22: Django~=2.2.0 dj22: Django~=2.2.0
dj30: Django~=3.0.0
wt24: wagtail~=2.4.0 wt24: wagtail~=2.4.0
wt25: wagtail~=2.5.0 wt25: wagtail~=2.5.0
wt26: wagtail~=2.6.0
wt27: wagtail~=2.7.0
wt28: wagtail~=2.8.0
[testenv:flake8] [testenv:flake8]
deps = flake8 deps = flake8
......
...@@ -8,6 +8,7 @@ import tempfile ...@@ -8,6 +8,7 @@ import tempfile
import threading import threading
from contextlib import contextmanager from contextlib import contextmanager
import wagtail
from django.conf import settings from django.conf import settings
from django.core.exceptions import SuspiciousFileOperation from django.core.exceptions import SuspiciousFileOperation
from django.core.files.base import ContentFile from django.core.files.base import ContentFile
...@@ -17,18 +18,22 @@ from django.db.models.signals import post_save, pre_delete ...@@ -17,18 +18,22 @@ from django.db.models.signals import post_save, pre_delete
from django.dispatch.dispatcher import receiver from django.dispatch.dispatcher import receiver
from django.forms.utils import flatatt from django.forms.utils import flatatt
from django.urls import reverse from django.urls import reverse
from django.utils.encoding import python_2_unicode_compatible
from django.utils.html import mark_safe from django.utils.html import mark_safe
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from enumchoicefield import ChoiceEnum, EnumChoiceField from enumchoicefield import ChoiceEnum, EnumChoiceField
from six import python_2_unicode_compatible
from taggit.managers import TaggableManager from taggit.managers import TaggableManager
from wagtail.admin.utils import get_object_usage
from wagtail.core.models import CollectionMember from wagtail.core.models import CollectionMember
from wagtail.search import index from wagtail.search import index
from wagtail.search.queryset import SearchableQuerySetMixin from wagtail.search.queryset import SearchableQuerySetMixin
from wagtailvideos import ffmpeg from wagtailvideos import ffmpeg
if wagtail.__version__ >= '2.7':
from wagtail.admin.models import get_object_usage
else:
from wagtail.admin.utils import get_object_usage
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
......
{% extends "wagtailadmin/base.html" %} {% extends "wagtailadmin/base.html" %}
{% load i18n staticfiles %} {% load i18n static %}
{% block titletag %}{% trans "Add multiple videos" %}{% endblock %} {% block titletag %}{% trans "Add multiple videos" %}{% endblock %}
{% block extra_css %} {% block extra_css %}
{{ block.super }} {{ block.super }}
......
{% extends "wagtailadmin/base.html" %} {% extends "wagtailadmin/base.html" %}
{% load staticfiles wagtailadmin_tags i18n wagtailvideos_tags %} {% load static wagtailadmin_tags i18n wagtailvideos_tags %}
{% block titletag %}{% blocktrans with title=video.title %}Editing video {{ title }}{% endblocktrans %}{% endblock %} {% block titletag %}{% blocktrans with title=video.title %}Editing video {{ title }}{% endblocktrans %}{% endblock %}
......
import wagtail
from django.core.paginator import Paginator from django.core.paginator import Paginator
from django.shortcuts import get_object_or_404, render from django.shortcuts import get_object_or_404, render
from django.urls import reverse from django.urls import reverse
from wagtail.admin.forms.search import SearchForm from wagtail.admin.forms.search import SearchForm
from wagtail.admin.modal_workflow import render_modal_workflow from wagtail.admin.modal_workflow import render_modal_workflow
from wagtail.admin.utils import PermissionPolicyChecker, popular_tags_for_model
from wagtail.core.models import Collection from wagtail.core.models import Collection
from wagtail.images.views.chooser import get_chooser_js_data from wagtail.images.views.chooser import get_chooser_js_data
from wagtail.search import index as search_index from wagtail.search import index as search_index
...@@ -12,6 +12,12 @@ from wagtailvideos.forms import get_video_form ...@@ -12,6 +12,12 @@ from wagtailvideos.forms import get_video_form
from wagtailvideos.models import Video from wagtailvideos.models import Video
from wagtailvideos.permissions import permission_policy from wagtailvideos.permissions import permission_policy
if wagtail.__version__ >= '2.7':
from wagtail.admin.models import popular_tags_for_model
from wagtail.admin.auth import PermissionPolicyChecker
else:
from wagtail.admin.utils import PermissionPolicyChecker, popular_tags_for_model
permission_checker = PermissionPolicyChecker(permission_policy) permission_checker = PermissionPolicyChecker(permission_policy)
......
import wagtail
from django.http import HttpResponseBadRequest, JsonResponse from django.http import HttpResponseBadRequest, JsonResponse
from django.shortcuts import get_object_or_404, render from django.shortcuts import get_object_or_404, render
from django.template.loader import render_to_string from django.template.loader import render_to_string
from django.utils.encoding import force_text from django.utils.encoding import force_text
from django.views.decorators.http import require_POST from django.views.decorators.http import require_POST
from django.views.decorators.vary import vary_on_headers from django.views.decorators.vary import vary_on_headers
from wagtail.admin.utils import PermissionPolicyChecker
from wagtail.search.backends import get_search_backends from wagtail.search.backends import get_search_backends
from wagtailvideos.forms import get_video_form from wagtailvideos.forms import get_video_form
from wagtailvideos.models import Video from wagtailvideos.models import Video
from wagtailvideos.permissions import permission_policy from wagtailvideos.permissions import permission_policy
if wagtail.__version__ >= '2.7':
from wagtail.admin.auth import PermissionPolicyChecker
else:
from wagtail.admin.utils import PermissionPolicyChecker
permission_checker = PermissionPolicyChecker(permission_policy) permission_checker = PermissionPolicyChecker(permission_policy)
......
import wagtail
from django.core.paginator import Paginator from django.core.paginator import Paginator
from django.http import HttpResponseNotAllowed from django.http import HttpResponseNotAllowed
from django.shortcuts import get_object_or_404, redirect, render from django.shortcuts import get_object_or_404, redirect, render
...@@ -6,7 +7,6 @@ from django.utils.translation import ugettext as _ ...@@ -6,7 +7,6 @@ from django.utils.translation import ugettext as _
from django.views.decorators.vary import vary_on_headers from django.views.decorators.vary import vary_on_headers
from wagtail.admin import messages from wagtail.admin import messages
from wagtail.admin.forms.search import SearchForm from wagtail.admin.forms.search import SearchForm
from wagtail.admin.utils import PermissionPolicyChecker, popular_tags_for_model
from wagtail.core.models import Collection from wagtail.core.models import Collection
from wagtail.search.backends import get_search_backends from wagtail.search.backends import get_search_backends
...@@ -15,6 +15,12 @@ from wagtailvideos.forms import VideoTranscodeAdminForm, get_video_form ...@@ -15,6 +15,12 @@ from wagtailvideos.forms import VideoTranscodeAdminForm, get_video_form
from wagtailvideos.models import Video from wagtailvideos.models import Video
from wagtailvideos.permissions import permission_policy from wagtailvideos.permissions import permission_policy
if wagtail.__version__ >= '2.7':
from wagtail.admin.models import popular_tags_for_model
from wagtail.admin.auth import PermissionPolicyChecker
else:
from wagtail.admin.utils import PermissionPolicyChecker, popular_tags_for_model
permission_checker = PermissionPolicyChecker(permission_policy) permission_checker = PermissionPolicyChecker(permission_policy)
......
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