From 47f8989eb1582d4659f21727d12cc79c3727c453 Mon Sep 17 00:00:00 2001 From: Karl Hobley Date: Fri, 27 Jun 2014 16:48:55 +0100 Subject: [PATCH 1/2] Removed embedly filter This has been deprecated since <0.1 so I think its time for it to go now --- .../templatetags/embed_filters.py | 2 +- .../templatetags/wagtailembeds_tags.py | 9 ----- wagtail/wagtailembeds/tests.py | 40 ------------------- 3 files changed, 1 insertion(+), 50 deletions(-) diff --git a/wagtail/wagtailembeds/templatetags/embed_filters.py b/wagtail/wagtailembeds/templatetags/embed_filters.py index cb79ce69a..2653b8428 100644 --- a/wagtail/wagtailembeds/templatetags/embed_filters.py +++ b/wagtail/wagtailembeds/templatetags/embed_filters.py @@ -5,4 +5,4 @@ warnings.warn( "Use {% load wagtailembeds_tags %} instead.", DeprecationWarning) -from wagtail.wagtailembeds.templatetags.wagtailembeds_tags import register, embed, embedly +from wagtail.wagtailembeds.templatetags.wagtailembeds_tags import register, embed diff --git a/wagtail/wagtailembeds/templatetags/wagtailembeds_tags.py b/wagtail/wagtailembeds/templatetags/wagtailembeds_tags.py index 1ad63cddf..f021d5761 100644 --- a/wagtail/wagtailembeds/templatetags/wagtailembeds_tags.py +++ b/wagtail/wagtailembeds/templatetags/wagtailembeds_tags.py @@ -19,12 +19,3 @@ def embed(url, max_width=None): return '' except: return '' - - -@register.filter -def embedly(url, max_width=None): - warnings.warn( - "The 'embedly' filter has been renamed. " - "Use 'embed' instead.", DeprecationWarning) - - return embed(url, max_width) diff --git a/wagtail/wagtailembeds/tests.py b/wagtail/wagtailembeds/tests.py index e7d040aa6..6ddcfe7c4 100644 --- a/wagtail/wagtailembeds/tests.py +++ b/wagtail/wagtailembeds/tests.py @@ -20,7 +20,6 @@ from wagtail.wagtailembeds.embeds import ( ) from wagtail.wagtailembeds.embeds import embedly as wagtail_embedly, oembed as wagtail_oembed from wagtail.wagtailembeds.templatetags.embed_filters import embed as embed_filter -from wagtail.wagtailembeds.templatetags.embed_filters import embedly as embedly_filter class TestEmbeds(TestCase): @@ -299,42 +298,3 @@ class TestEmbedFilter(TestCase): context = template.Context() result = temp.render(context) self.assertEqual(result, '') - - -class TestEmbedlyFilter(TestEmbedFilter): - def setUp(self): - class DummyResponse(object): - def read(self): - return "foo" - self.dummy_response = DummyResponse() - - @patch('urllib2.urlopen') - @patch('json.loads') - def test_valid_embed(self, loads, urlopen): - urlopen.return_value = self.dummy_response - loads.return_value = {'type': 'photo', - 'url': 'http://www.example.com'} - result = embedly_filter('http://www.youtube.com/watch/') - self.assertEqual(result, '') - - @patch('urllib2.urlopen') - @patch('json.loads') - def test_render_filter(self, loads, urlopen): - urlopen.return_value = self.dummy_response - loads.return_value = {'type': 'photo', - 'url': 'http://www.example.com'} - temp = template.Template('{% load embed_filters %}{{ "http://www.youtube.com/watch/"|embedly }}') - context = template.Context() - result = temp.render(context) - self.assertEqual(result, '') - - @patch('urllib2.urlopen') - @patch('json.loads') - def test_render_filter_nonexistent_type(self, loads, urlopen): - urlopen.return_value = self.dummy_response - loads.return_value = {'type': 'foo', - 'url': 'http://www.example.com'} - temp = template.Template('{% load embed_filters %}{{ "http://www.youtube.com/watch/"|embedly }}') - context = template.Context() - result = temp.render(context) - self.assertEqual(result, '') From 356168f37ea3c5f20de3063f73b86e776c24c3cc Mon Sep 17 00:00:00 2001 From: Matt Westcott Date: Wed, 16 Jul 2014 17:21:31 +0100 Subject: [PATCH 2/2] Convert go_live_at / expire_at timestamps to the server's own timezone when submitting, so that tests don't need TIME_ZONE='UTC' --- wagtail/tests/settings.py | 1 - .../wagtailadmin/tests/test_pages_views.py | 49 ++++++++++++------- 2 files changed, 31 insertions(+), 19 deletions(-) diff --git a/wagtail/tests/settings.py b/wagtail/tests/settings.py index 103e19b99..4623acbec 100644 --- a/wagtail/tests/settings.py +++ b/wagtail/tests/settings.py @@ -29,7 +29,6 @@ STATICFILES_FINDERS = ( ) USE_TZ = True -TIME_ZONE = 'UTC' TEMPLATE_CONTEXT_PROCESSORS = global_settings.TEMPLATE_CONTEXT_PROCESSORS + ( 'django.core.context_processors.request', diff --git a/wagtail/wagtailadmin/tests/test_pages_views.py b/wagtail/wagtailadmin/tests/test_pages_views.py index 1551eaab2..a5b4164cb 100644 --- a/wagtail/wagtailadmin/tests/test_pages_views.py +++ b/wagtail/wagtailadmin/tests/test_pages_views.py @@ -14,6 +14,17 @@ from wagtail.wagtailcore.signals import page_published from wagtail.wagtailusers.models import UserProfile +def submittable_timestamp(timestamp): + """ + Helper function to translate a possibly-timezone-aware datetime into the format used in the + go_live_at / expire_at form fields - "YYYY-MM-DD hh:mm", with no timezone indicator. + This will be interpreted as being in the server's timezone (settings.TIME_ZONE), so we + need to pass it through timezone.localtime to ensure that the client and server are in + agreement about what the timestamp means. + """ + return str(timezone.localtime(timestamp)).split('.')[0] + + class TestPageExplorer(TestCase, WagtailTestUtils): def setUp(self): # Find root page @@ -180,8 +191,8 @@ class TestPageCreation(TestCase, WagtailTestUtils): 'title': "New page!", 'content': "Some content", 'slug': 'hello-world', - 'go_live_at': str(go_live_at).split('.')[0], - 'expire_at': str(expire_at).split('.')[0], + 'go_live_at': submittable_timestamp(go_live_at), + 'expire_at': submittable_timestamp(expire_at), } response = self.client.post(reverse('wagtailadmin_pages_create', args=('tests', 'simplepage', self.root_page.id)), post_data) @@ -203,8 +214,8 @@ class TestPageCreation(TestCase, WagtailTestUtils): 'title': "New page!", 'content': "Some content", 'slug': 'hello-world', - 'go_live_at': str(timezone.now() + timedelta(days=2)).split('.')[0], - 'expire_at': str(timezone.now() + timedelta(days=1)).split('.')[0], + 'go_live_at': submittable_timestamp(timezone.now() + timedelta(days=2)), + 'expire_at': submittable_timestamp(timezone.now() + timedelta(days=1)), } response = self.client.post(reverse('wagtailadmin_pages_create', args=('tests', 'simplepage', self.root_page.id)), post_data) @@ -219,7 +230,7 @@ class TestPageCreation(TestCase, WagtailTestUtils): 'title': "New page!", 'content': "Some content", 'slug': 'hello-world', - 'expire_at': str(timezone.now() + timedelta(days=-1)).split('.')[0], + 'expire_at': submittable_timestamp(timezone.now() + timedelta(days=-1)), } response = self.client.post(reverse('wagtailadmin_pages_create', args=('tests', 'simplepage', self.root_page.id)), post_data) @@ -268,8 +279,8 @@ class TestPageCreation(TestCase, WagtailTestUtils): 'content': "Some content", 'slug': 'hello-world', 'action-publish': "Publish", - 'go_live_at': str(go_live_at).split('.')[0], - 'expire_at': str(expire_at).split('.')[0], + 'go_live_at': submittable_timestamp(go_live_at), + 'expire_at': submittable_timestamp(expire_at), } response = self.client.post(reverse('wagtailadmin_pages_create', args=('tests', 'simplepage', self.root_page.id)), post_data) @@ -428,14 +439,16 @@ class TestPageEdit(TestCase, WagtailTestUtils): self.assertTrue(child_page_new.has_unpublished_changes) def test_edit_post_scheduled(self): - go_live_at = timezone.now() + timedelta(days=1) - expire_at = timezone.now() + timedelta(days=2) + # put go_live_at and expire_at several days away from the current date, to avoid + # false matches in content_json__contains tests + go_live_at = timezone.now() + timedelta(days=10) + expire_at = timezone.now() + timedelta(days=20) post_data = { 'title': "I've been edited!", 'content': "Some content", 'slug': 'hello-world', - 'go_live_at': str(go_live_at).split('.')[0], - 'expire_at': str(expire_at).split('.')[0], + 'go_live_at': submittable_timestamp(go_live_at), + 'expire_at': submittable_timestamp(expire_at), } response = self.client.post(reverse('wagtailadmin_pages_edit', args=(self.child_page.id, )), post_data) @@ -459,8 +472,8 @@ class TestPageEdit(TestCase, WagtailTestUtils): 'title': "I've been edited!", 'content': "Some content", 'slug': 'hello-world', - 'go_live_at': str(timezone.now() + timedelta(days=2)).split('.')[0], - 'expire_at': str(timezone.now() + timedelta(days=1)).split('.')[0], + 'go_live_at': submittable_timestamp(timezone.now() + timedelta(days=2)), + 'expire_at': submittable_timestamp(timezone.now() + timedelta(days=1)), } response = self.client.post(reverse('wagtailadmin_pages_edit', args=(self.child_page.id, )), post_data) @@ -475,7 +488,7 @@ class TestPageEdit(TestCase, WagtailTestUtils): 'title': "I've been edited!", 'content': "Some content", 'slug': 'hello-world', - 'expire_at': str(timezone.now() + timedelta(days=-1)).split('.')[0], + 'expire_at': submittable_timestamp(timezone.now() + timedelta(days=-1)), } response = self.client.post(reverse('wagtailadmin_pages_edit', args=(self.child_page.id, )), post_data) @@ -525,8 +538,8 @@ class TestPageEdit(TestCase, WagtailTestUtils): 'content': "Some content", 'slug': 'hello-world', 'action-publish': "Publish", - 'go_live_at': str(go_live_at).split('.')[0], - 'expire_at': str(expire_at).split('.')[0], + 'go_live_at': submittable_timestamp(go_live_at), + 'expire_at': submittable_timestamp(expire_at), } response = self.client.post(reverse('wagtailadmin_pages_edit', args=(self.child_page.id, )), post_data) @@ -550,8 +563,8 @@ class TestPageEdit(TestCase, WagtailTestUtils): 'content': "Some content", 'slug': 'hello-world', 'action-publish': "Publish", - 'go_live_at': str(go_live_at).split('.')[0], - 'expire_at': str(expire_at).split('.')[0], + 'go_live_at': submittable_timestamp(go_live_at), + 'expire_at': submittable_timestamp(expire_at), } response = self.client.post(reverse('wagtailadmin_pages_edit', args=(self.child_page.id, )), post_data)