Remove Wagtail-1.4-era fallback for rest_framework not being installed

pull/3923/head
Matt Westcott 2017-10-09 21:55:38 +01:00 zatwierdzone przez Matt Westcott
rodzic 0629b6a866
commit fe360d9e10
6 zmienionych plików z 2 dodań i 178 usunięć

Wyświetl plik

@ -668,10 +668,6 @@ These two files should reside in your project directory (``myproject/myproject/`
# Wagtail email notification format # Wagtail email notification format
# WAGTAILADMIN_NOTIFICATION_USE_HTML = True # WAGTAILADMIN_NOTIFICATION_USE_HTML = True
# If you want to use Embedly for embeds, supply a key
# (this key doesn't work, get your own!)
# WAGTAILEMBEDS_EMBEDLY_KEY = '253e433d59dc4d2xa266e9e0de0cb830'
# Reverse the default case-sensitive handling of tags # Reverse the default case-sensitive handling of tags
TAGGIT_CASE_INSENSITIVE = True TAGGIT_CASE_INSENSITIVE = True

Wyświetl plik

@ -2,7 +2,6 @@ from __future__ import absolute_import, unicode_literals
from collections import OrderedDict from collections import OrderedDict
from django.apps import apps
from django.conf.urls import url from django.conf.urls import url
from django.core.exceptions import FieldDoesNotExist from django.core.exceptions import FieldDoesNotExist
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
@ -26,13 +25,7 @@ from .utils import (
class BaseAPIEndpoint(GenericViewSet): class BaseAPIEndpoint(GenericViewSet):
renderer_classes = [JSONRenderer] renderer_classes = [JSONRenderer, BrowsableAPIRenderer]
# The BrowsableAPIRenderer requires rest_framework to be installed
# Remove this check in Wagtail 1.4 as rest_framework will be required
# RemovedInWagtail14Warning
if apps.is_installed('rest_framework'):
renderer_classes.append(BrowsableAPIRenderer)
pagination_class = WagtailPagination pagination_class = WagtailPagination
base_serializer_class = BaseSerializer base_serializer_class = BaseSerializer

Wyświetl plik

@ -1,22 +1,10 @@
import pprint
import sys import sys
import warnings
from importlib import import_module from importlib import import_module
from django.utils.module_loading import import_string from django.utils.module_loading import import_string
from django.utils import six from django.utils import six
from django.conf import settings from django.conf import settings
from wagtail.utils.deprecation import RemovedInWagtail114Warning
MOVED_FINDERS = {
'wagtail.wagtailembeds.embeds.embedly': 'wagtail.wagtailembeds.finders.embedly',
'wagtail.wagtailembeds.embeds.oembed': 'wagtail.wagtailembeds.finders.oembed',
'wagtail.wagtailembeds.finders.embedly.embedly': 'wagtail.wagtailembeds.finders.embedly',
'wagtail.wagtailembeds.finders.oembed.oembed': 'wagtail.wagtailembeds.finders.oembed',
}
def import_finder_class(dotted_path): def import_finder_class(dotted_path):
""" """
@ -36,46 +24,9 @@ def import_finder_class(dotted_path):
six.reraise(ImportError, e, sys.exc_info()[2]) six.reraise(ImportError, e, sys.exc_info()[2])
def _settings_deprecation_warning(key, suggestion):
hint = 'WAGTAILEMBEDS_FINDERS = ' + pprint.pformat(suggestion)
warnings.warn(
"The `{}` setting is now deprecrated. Please replace this with `{}`".format(key, hint),
category=RemovedInWagtail114Warning
)
def _get_config_from_settings(): def _get_config_from_settings():
if hasattr(settings, 'WAGTAILEMBEDS_FINDERS'): if hasattr(settings, 'WAGTAILEMBEDS_FINDERS'):
return settings.WAGTAILEMBEDS_FINDERS return settings.WAGTAILEMBEDS_FINDERS
elif hasattr(settings, 'WAGTAILEMBEDS_EMBED_FINDER'):
finder_name = settings.WAGTAILEMBEDS_EMBED_FINDER
if finder_name in MOVED_FINDERS:
finder_name = MOVED_FINDERS[finder_name]
finders = [
{
'class': finder_name,
}
]
_settings_deprecation_warning('WAGTAILEMBEDS_EMBED_FINDER', finders)
return finders
elif hasattr(settings, 'WAGTAILEMBEDS_EMBEDLY_KEY'):
finders = [
{
'class': 'wagtail.wagtailembeds.finders.embedly',
'key': settings.WAGTAILEMBEDS_EMBEDLY_KEY,
}
]
_settings_deprecation_warning('WAGTAILEMBEDS_EMBEDLY_KEY', finders)
return finders
else: else:
# Default to the oembed backend # Default to the oembed backend
return [ return [

Wyświetl plik

@ -1,10 +1,5 @@
from __future__ import absolute_import, unicode_literals from __future__ import absolute_import, unicode_literals
import warnings
from django.conf import settings
from wagtail.utils.deprecation import RemovedInWagtail114Warning
from wagtail.wagtailembeds.exceptions import EmbedException, EmbedNotFoundException from wagtail.wagtailembeds.exceptions import EmbedException, EmbedNotFoundException
from .base import EmbedFinder from .base import EmbedFinder
@ -26,10 +21,7 @@ class EmbedlyFinder(EmbedFinder):
self.key = key self.key = key
def get_key(self): def get_key(self):
if self.key: return self.key
return self.key
return getattr(settings, 'WAGTAILEMBEDS_EMBEDLY_KEY', None)
def accept(self, url): def accept(self, url):
# We don't really know what embedly supports so accept everything # We don't really know what embedly supports so accept everything
@ -80,15 +72,3 @@ class EmbedlyFinder(EmbedFinder):
embed_finder_class = EmbedlyFinder embed_finder_class = EmbedlyFinder
def embedly(url, max_width=None, key=None):
warnings.warn(
"The `wagtail.wagtailembeds.finders.embedly.embedly` function is now deprecated. Please use the wagtail.wagtailembeds.finders.embedly.Embedly` class instead.",
category=RemovedInWagtail114Warning
)
if key is None:
key = settings.WAGTAILEMBEDS_EMBEDLY_KEY
return EmbedlyFinder(key=key).find_embed(url, max_width=max_width)

Wyświetl plik

@ -2,14 +2,12 @@ from __future__ import absolute_import, unicode_literals
import json import json
import re import re
import warnings
from django.utils.six.moves.urllib import request as urllib_request from django.utils.six.moves.urllib import request as urllib_request
from django.utils.six.moves.urllib.error import URLError from django.utils.six.moves.urllib.error import URLError
from django.utils.six.moves.urllib.parse import urlencode from django.utils.six.moves.urllib.parse import urlencode
from django.utils.six.moves.urllib.request import Request from django.utils.six.moves.urllib.request import Request
from wagtail.utils.deprecation import RemovedInWagtail114Warning
from wagtail.wagtailembeds.exceptions import EmbedNotFoundException from wagtail.wagtailembeds.exceptions import EmbedNotFoundException
from wagtail.wagtailembeds.oembed_providers import all_providers from wagtail.wagtailembeds.oembed_providers import all_providers
@ -88,12 +86,3 @@ class OEmbedFinder(EmbedFinder):
embed_finder_class = OEmbedFinder embed_finder_class = OEmbedFinder
def oembed(url, max_width=None):
warnings.warn(
"The `wagtail.wagtailembeds.finders.oembed.oembed` function is now deprecated. Please use the wagtail.wagtailembeds.finders.oembed.OEmbedFinder` class instead.",
category=RemovedInWagtail114Warning
)
return OEmbedFinder().find_embed(url, max_width=max_width)

Wyświetl plik

@ -79,91 +79,6 @@ class TestGetFinders(TestCase):
self.assertIsInstance(finders[0], OEmbedFinder) self.assertIsInstance(finders[0], OEmbedFinder)
self.assertEqual(finders[0].options, {'foo': 'bar'}) self.assertEqual(finders[0].options, {'foo': 'bar'})
@override_settings(WAGTAILEMBEDS_FINDERS=[
{
'class': 'wagtail.wagtailembeds.finders.embedly',
}
], WAGTAILEMBEDS_EMBEDLY_KEY='bar')
def test_new_find_embedly_still_uses_old_key_setting(self):
finders = get_finders()
self.assertEqual(len(finders), 1)
self.assertIsInstance(finders[0], EmbedlyFinder)
self.assertEqual(finders[0].get_key(), 'bar')
@override_settings(WAGTAILEMBEDS_FINDERS=[
{
'class': 'wagtail.wagtailembeds.finders.embedly',
'key': 'foo',
}
], WAGTAILEMBEDS_EMBEDLY_KEY='bar')
def test_new_find_embedly_key_setting_precedence(self):
finders = get_finders()
self.assertEqual(len(finders), 1)
self.assertIsInstance(finders[0], EmbedlyFinder)
self.assertEqual(finders[0].get_key(), 'foo')
# Old settings
@override_settings(WAGTAILEMBEDS_EMBEDLY_KEY='test')
def test_defaults_to_embedly_when_embedly_key_set(self):
finders = get_finders()
self.assertEqual(len(finders), 1)
self.assertIsInstance(finders[0], EmbedlyFinder)
self.assertEqual(finders[0].get_key(), 'test')
@override_settings(WAGTAILEMBEDS_EMBED_FINDER='wagtail.wagtailembeds.finders.embedly.embedly')
def test_old_find_embedly(self):
finders = get_finders()
self.assertEqual(len(finders), 1)
self.assertIsInstance(finders[0], EmbedlyFinder)
@override_settings(WAGTAILEMBEDS_EMBED_FINDER='wagtail.wagtailembeds.finders.oembed.oembed')
def test_old_find_oembed(self):
finders = get_finders()
self.assertEqual(len(finders), 1)
self.assertIsInstance(finders[0], OEmbedFinder)
@override_settings(WAGTAILEMBEDS_EMBED_FINDER='wagtail.wagtailembeds.finders.embedly')
def test_old_find_embedly_from_module(self):
finders = get_finders()
self.assertEqual(len(finders), 1)
self.assertIsInstance(finders[0], EmbedlyFinder)
@override_settings(WAGTAILEMBEDS_EMBED_FINDER='wagtail.wagtailembeds.finders.oembed')
def test_old_find_oembed_from_module(self):
finders = get_finders()
self.assertEqual(len(finders), 1)
self.assertIsInstance(finders[0], OEmbedFinder)
@override_settings(WAGTAILEMBEDS_EMBED_FINDER='wagtail.wagtailembeds.embeds.embedly')
def test_old_find_old_embedly(self):
finders = get_finders()
self.assertEqual(len(finders), 1)
self.assertIsInstance(finders[0], EmbedlyFinder)
@override_settings(WAGTAILEMBEDS_EMBED_FINDER='wagtail.wagtailembeds.embeds.oembed')
def test_old_find_old_oembed(self):
finders = get_finders()
self.assertEqual(len(finders), 1)
self.assertIsInstance(finders[0], OEmbedFinder)
@override_settings(WAGTAILEMBEDS_EMBEDLY_KEY='test', WAGTAILEMBEDS_EMBED_FINDER='wagtail.wagtailembeds.finders.oembed.oembed')
def test_old_find_oembed_when_embedly_key_set(self):
# WAGTAILEMBEDS_EMBED_FINDER always takes precedence
finders = get_finders()
self.assertEqual(len(finders), 1)
self.assertIsInstance(finders[0], OEmbedFinder)
class TestEmbeds(TestCase): class TestEmbeds(TestCase):
def setUp(self): def setUp(self):