mirror of
https://github.com/Hopiu/wagtail.git
synced 2026-05-11 08:43:10 +00:00
Use six to import urllib and StringIO
This commit is contained in:
parent
cf15e90390
commit
c90d61fa2a
14 changed files with 43 additions and 31 deletions
|
|
@ -8,9 +8,10 @@
|
|||
### <img src="{% gravatar_url sometemplatevariable %}">
|
||||
### just make sure to update the "default" image path below
|
||||
|
||||
import urllib
|
||||
import hashlib
|
||||
|
||||
from six.moves.urllib.parse import urlencode
|
||||
|
||||
from django import template
|
||||
|
||||
register = template.Library()
|
||||
|
|
@ -31,7 +32,7 @@ class GravatarUrlNode(template.Node):
|
|||
size = int(self.size) * 2 # requested at retina size by default and scaled down at point of use with css
|
||||
|
||||
gravatar_url = "//www.gravatar.com/avatar/" + hashlib.md5(email.lower()).hexdigest() + "?"
|
||||
gravatar_url += urllib.urlencode({'s': str(size), 'd': default})
|
||||
gravatar_url += urlencode({'s': str(size), 'd': default})
|
||||
|
||||
return gravatar_url
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
from StringIO import StringIO
|
||||
from urlparse import urlparse
|
||||
import warnings
|
||||
|
||||
from six import StringIO
|
||||
from six.moves.urllib.parse import urlparse
|
||||
|
||||
from modelcluster.models import ClusterableModel
|
||||
|
||||
from django.db import models, connection, transaction
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
from StringIO import StringIO
|
||||
from datetime import timedelta
|
||||
|
||||
from six import StringIO
|
||||
|
||||
from django.test import TestCase, Client
|
||||
from django.http import HttpRequest, Http404
|
||||
from django.core import management
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from StringIO import StringIO
|
||||
from six import StringIO
|
||||
|
||||
from django.test import TestCase, Client
|
||||
from django.http import HttpRequest, Http404
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from StringIO import StringIO
|
||||
from six import StringIO
|
||||
|
||||
from django.test import TestCase, Client
|
||||
from django.http import HttpRequest, Http404
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from StringIO import StringIO
|
||||
from six import StringIO
|
||||
|
||||
from django.test import TestCase, Client
|
||||
from django.http import HttpRequest, Http404
|
||||
|
|
|
|||
|
|
@ -2,8 +2,9 @@
|
|||
A generic HTML whitelisting engine, designed to accommodate subclassing to override
|
||||
specific rules.
|
||||
"""
|
||||
from six.moves.urllib.parse import urlparse
|
||||
|
||||
from bs4 import BeautifulSoup, NavigableString, Tag
|
||||
from urlparse import urlparse
|
||||
|
||||
|
||||
ALLOWED_URL_SCHEMES = ['', 'http', 'https', 'ftp', 'mailto', 'tel']
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import sys
|
||||
from datetime import datetime
|
||||
|
||||
try:
|
||||
from importlib import import_module
|
||||
|
|
@ -6,13 +7,16 @@ except ImportError:
|
|||
# for Python 2.6, fall back on django.utils.importlib (deprecated as of Django 1.7)
|
||||
from django.utils.importlib import import_module
|
||||
|
||||
from six.moves.urllib.request import urlopen, Request
|
||||
from six.moves.urllib.error import URLError
|
||||
from six.moves.urllib.parse import urlencode
|
||||
|
||||
from django.conf import settings
|
||||
from datetime import datetime
|
||||
from django.utils import six
|
||||
|
||||
from wagtail.wagtailembeds.oembed_providers import get_oembed_provider
|
||||
from wagtail.wagtailembeds.models import Embed
|
||||
import urllib2, urllib
|
||||
import json
|
||||
|
||||
|
||||
|
||||
class EmbedNotFoundException(Exception): pass
|
||||
|
|
@ -99,11 +103,11 @@ def oembed(url, max_width=None):
|
|||
params['maxwidth'] = max_width
|
||||
|
||||
# Perform request
|
||||
request = urllib2.Request(provider + '?' + urllib.urlencode(params))
|
||||
request = Request(provider + '?' + urlencode(params))
|
||||
request.add_header('User-agent', 'Mozilla/5.0')
|
||||
try:
|
||||
r = urllib2.urlopen(request)
|
||||
except urllib2.URLError:
|
||||
r = urlopen(request)
|
||||
except URLError:
|
||||
raise EmbedNotFoundException
|
||||
oembed = json.loads(r.read())
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
from six.moves.urllib.request import urlopen
|
||||
|
||||
from mock import patch
|
||||
import urllib2
|
||||
|
||||
try:
|
||||
import embedly
|
||||
|
|
@ -222,7 +223,7 @@ class TestOembed(TestCase):
|
|||
self.assertRaises(EmbedNotFoundException, wagtail_oembed,
|
||||
"http://www.youtube.com/watch/")
|
||||
|
||||
@patch('urllib2.urlopen')
|
||||
@patch('six.moves.urllib.request.urlopen')
|
||||
@patch('json.loads')
|
||||
def test_oembed_photo_request(self, loads, urlopen) :
|
||||
urlopen.return_value = self.dummy_response
|
||||
|
|
@ -233,7 +234,7 @@ class TestOembed(TestCase):
|
|||
self.assertEqual(result['html'], '<img src="http://www.example.com" />')
|
||||
loads.assert_called_with("foo")
|
||||
|
||||
@patch('urllib2.urlopen')
|
||||
@patch('six.moves.urllib.request.urlopen')
|
||||
@patch('json.loads')
|
||||
def test_oembed_return_values(self, loads, urlopen):
|
||||
urlopen.return_value = self.dummy_response
|
||||
|
|
@ -268,7 +269,7 @@ class TestEmbedFilter(TestCase):
|
|||
return "foo"
|
||||
self.dummy_response = DummyResponse()
|
||||
|
||||
@patch('urllib2.urlopen')
|
||||
@patch('six.moves.urllib.request.urlopen')
|
||||
@patch('json.loads')
|
||||
def test_valid_embed(self, loads, urlopen):
|
||||
urlopen.return_value = self.dummy_response
|
||||
|
|
@ -277,7 +278,7 @@ class TestEmbedFilter(TestCase):
|
|||
result = embed_filter('http://www.youtube.com/watch/')
|
||||
self.assertEqual(result, '<img src="http://www.example.com" />')
|
||||
|
||||
@patch('urllib2.urlopen')
|
||||
@patch('six.moves.urllib.request.urlopenn')
|
||||
@patch('json.loads')
|
||||
def test_render_filter(self, loads, urlopen):
|
||||
urlopen.return_value = self.dummy_response
|
||||
|
|
@ -288,7 +289,7 @@ class TestEmbedFilter(TestCase):
|
|||
result = temp.render(context)
|
||||
self.assertEqual(result, '<img src="http://www.example.com" />')
|
||||
|
||||
@patch('urllib2.urlopen')
|
||||
@patch('six.moves.urllib.request.urlopen')
|
||||
@patch('json.loads')
|
||||
def test_render_filter_nonexistent_type(self, loads, urlopen):
|
||||
urlopen.return_value = self.dummy_response
|
||||
|
|
@ -307,7 +308,7 @@ class TestEmbedlyFilter(TestEmbedFilter):
|
|||
return "foo"
|
||||
self.dummy_response = DummyResponse()
|
||||
|
||||
@patch('urllib2.urlopen')
|
||||
@patch('six.moves.urllib.request.urlopen')
|
||||
@patch('json.loads')
|
||||
def test_valid_embed(self, loads, urlopen):
|
||||
urlopen.return_value = self.dummy_response
|
||||
|
|
@ -316,7 +317,7 @@ class TestEmbedlyFilter(TestEmbedFilter):
|
|||
result = embedly_filter('http://www.youtube.com/watch/')
|
||||
self.assertEqual(result, '<img src="http://www.example.com" />')
|
||||
|
||||
@patch('urllib2.urlopen')
|
||||
@patch('six.moves.urllib.request.urlopen')
|
||||
@patch('json.loads')
|
||||
def test_render_filter(self, loads, urlopen):
|
||||
urlopen.return_value = self.dummy_response
|
||||
|
|
@ -327,7 +328,7 @@ class TestEmbedlyFilter(TestEmbedFilter):
|
|||
result = temp.render(context)
|
||||
self.assertEqual(result, '<img src="http://www.example.com" />')
|
||||
|
||||
@patch('urllib2.urlopen')
|
||||
@patch('six.moves.urllib.request.urlopen')
|
||||
@patch('json.loads')
|
||||
def test_render_filter_nonexistent_type(self, loads, urlopen):
|
||||
urlopen.return_value = self.dummy_response
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
import StringIO
|
||||
import os.path
|
||||
import re
|
||||
|
||||
from six import BytesIO
|
||||
|
||||
from taggit.managers import TaggableManager
|
||||
|
||||
from django.core.files import File
|
||||
|
|
@ -208,7 +209,7 @@ class Filter(models.Model):
|
|||
|
||||
image = method(image, self.method_arg)
|
||||
|
||||
output = StringIO.StringIO()
|
||||
output = BytesIO()
|
||||
backend.save_image(image, output, file_format)
|
||||
|
||||
# and then close the input file
|
||||
|
|
|
|||
|
|
@ -18,11 +18,11 @@ from wagtail.wagtailimages.backends import get_image_backend
|
|||
from wagtail.wagtailimages.backends.pillow import PillowBackend
|
||||
|
||||
def get_test_image_file():
|
||||
from StringIO import StringIO
|
||||
from six import BytesIO
|
||||
from PIL import Image
|
||||
from django.core.files.images import ImageFile
|
||||
|
||||
f = StringIO()
|
||||
f = BytesIO()
|
||||
image = Image.new('RGB', (640, 480), 'white')
|
||||
image.save(f, 'PNG')
|
||||
return ImageFile(f, name='test.png')
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ from django.utils.translation import ugettext_lazy as _
|
|||
|
||||
from wagtail.wagtailadmin.edit_handlers import FieldPanel, MultiFieldPanel, PageChooserPanel
|
||||
|
||||
from urlparse import urlparse
|
||||
from six.moves.urllib.parse import urlparse
|
||||
|
||||
|
||||
class Redirect(models.Model):
|
||||
|
|
|
|||
|
|
@ -1,12 +1,14 @@
|
|||
from six import StringIO
|
||||
|
||||
from django.test import TestCase
|
||||
from django.test.utils import override_settings
|
||||
from django.conf import settings
|
||||
from django.core import management
|
||||
|
||||
from wagtail.tests.utils import unittest
|
||||
from wagtail.wagtailsearch import models, get_search_backend
|
||||
from wagtail.wagtailsearch.backends.db import DBSearch
|
||||
from wagtail.wagtailsearch.backends import InvalidSearchBackendError
|
||||
from StringIO import StringIO
|
||||
|
||||
|
||||
# Register wagtailsearch signal handlers
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from StringIO import StringIO
|
||||
from six import StringIO
|
||||
|
||||
from django.test import TestCase
|
||||
from django.core import management
|
||||
|
|
|
|||
Loading…
Reference in a new issue