本文整理汇总了Python中wagtail.wagtailimages.views.serve.generate_signature函数的典型用法代码示例。如果您正苦于以下问题:Python generate_signature函数的具体用法?Python generate_signature怎么用?Python generate_signature使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了generate_signature函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_get_with_serve_action
def test_get_with_serve_action(self):
signature = generate_signature(self.image.id, 'fill-800x600')
response = self.client.get(reverse('wagtailimages_serve_action_serve', args=(signature, self.image.id, 'fill-800x600')))
self.assertEqual(response.status_code, 200)
self.assertTrue(response.streaming)
self.assertEqual(response['Content-Type'], 'image/png')
示例2: generate_url
def generate_url(request, image_id, filter_spec):
# Get the image
Image = get_image_model()
try:
image = Image.objects.get(id=image_id)
except Image.DoesNotExist:
return JsonResponse({"error": "Cannot find image."}, status=404)
# Check if this user has edit permission on this image
if not permission_policy.user_has_permission_for_instance(request.user, "change", image):
return JsonResponse({"error": "You do not have permission to generate a URL for this image."}, status=403)
# Parse the filter spec to make sure its valid
try:
Filter(spec=filter_spec).operations
except InvalidFilterSpecError:
return JsonResponse({"error": "Invalid filter spec."}, status=400)
# Generate url
signature = generate_signature(image_id, filter_spec)
url = reverse("wagtailimages_serve", args=(signature, image_id, filter_spec))
# Get site root url
try:
site_root_url = Site.objects.get(is_default_site=True).root_url
except Site.DoesNotExist:
site_root_url = Site.objects.first().root_url
# Generate preview url
preview_url = reverse("wagtailimages:preview", args=(image_id, filter_spec))
return JsonResponse({"url": site_root_url + url, "preview_url": preview_url}, status=200)
示例3: test_unknown_spec
def test_unknown_spec(self):
signature = generate_signature(self.image.id, 'foo')
url = reverse('wagtailimages_serve', args=(
signature, self.image.id, 'foo'))
self.client.page_login()
response = self.client.get(url)
self.assertEqual(response.status_code, 400)
示例4: test_sendfile_nobackend
def test_sendfile_nobackend(self):
signature = generate_signature(self.image.id, 'fill-800x600')
response = self.client.get(reverse('wagtailimages_sendfile',
args=(signature, self.image.id,
'fill-800x600')))
self.assertEqual(response.status_code, 200)
self.assertEqual(response['Content-Type'], 'image/png')
示例5: test_sendfile_dummy_backend
def test_sendfile_dummy_backend(self):
signature = generate_signature(self.image.id, 'fill-800x600')
response = self.client.get(reverse('wagtailimages_sendfile_dummy',
args=(signature, self.image.id,
'fill-800x600')))
self.assertEqual(response.status_code, 200)
self.assertTrue(response.content, 'Dummy backend response')
示例6: image_url
def image_url(image, filter_spec):
signature = generate_signature(image.id, filter_spec)
url = reverse(
'wagtailimages_serve',
args=(signature, image.id, filter_spec)
)
url += image.file.name[len('original_images/'):]
return url
示例7: test_get_with_redirect_action
def test_get_with_redirect_action(self):
signature = generate_signature(self.image.id, 'fill-800x600')
response = self.client.get(reverse('wagtailimages_serve_action_redirect', args=(signature, self.image.id, 'fill-800x600')))
expected_redirect_url = 'http://testserver/media/images/{filename[0]}.2e16d0ba.fill-800x600{filename[1]}'.format(
filename=os.path.splitext(os.path.basename(self.image.file.path))
)
self.assertRedirects(response, expected_redirect_url, status_code=301, fetch_redirect_response=False)
示例8: test_unknown_image
def test_unknown_image(self):
image_id = 9999999999
signature = generate_signature(image_id, self.filter_spec)
url = reverse('wagtailimages_serve', args=(
signature, image_id, self.filter_spec))
self.client.page_login()
response = self.client.get(url)
self.assertEqual(response.status_code, 404)
示例9: setUpTestData
def setUpTestData(cls):
super(SendFilePrivateViewTestCase, cls).setUpTestData()
cls.image = ImageFactory()
cls.filter_spec = 'max-200x150'
cls.signature = generate_signature(cls.image.id, cls.filter_spec)
cls.url = reverse('wagtailimages_serve', args=(
cls.signature, cls.image.id, cls.filter_spec))
示例10: image_url
def image_url(image, filter_spec):
"""
Return an url for the given image -- shortcut function for
wagtailimages' serve.
"""
from wagtail.wagtailimages.views.serve import generate_signature
signature = generate_signature(image.id, filter_spec)
url = reverse('wagtailimages_serve', args=(signature, image.id, filter_spec))
url += image.file.name[len('original_images/'):]
return url
示例11: get_image_url
def get_image_url(image, filter_spec):
from wagtail.wagtailimages.views.serve import generate_signature
signature = generate_signature(image.id, filter_spec)
url = reverse('wagtailimages_serve', args=(signature, image.id, filter_spec))
# Append image's original filename to the URL (optional)
url += image.file.name[len('original_images/'):]
return url
示例12: test_get_invalid_signature
def test_get_invalid_signature(self):
"""
Test that an invalid signature returns a 403 response
"""
# Generate a signature for the incorrect image id
signature = generate_signature(self.image.id + 1, 'fill-800x600')
# Get the image
response = self.client.get(reverse('wagtailimages_serve', args=(signature, self.image.id, 'fill-800x600')))
# Check response
self.assertEqual(response.status_code, 403)
示例13: test_get_with_too_many_extra_components
def test_get_with_too_many_extra_components(self):
"""
A filename can be appended to the end of the URL, but it must not contain a '/'
"""
# Generate signature
signature = generate_signature(self.image.id, 'fill-800x600')
# Get the image
response = self.client.get(reverse('wagtailimages_serve', args=(signature, self.image.id, 'fill-800x600')) + 'test/test.png')
# URL pattern should not match
self.assertEqual(response.status_code, 404)
示例14: test_get_with_custom_key
def test_get_with_custom_key(self):
"""
Test that that the key can be changed on the view
"""
# Generate signature
signature = generate_signature(self.image.id, 'fill-800x600', key='custom')
# Get the image
response = self.client.get(reverse('wagtailimages_serve_custom_key', args=(signature, self.image.id, 'fill-800x600')) + 'test.png')
# Check response
self.assertEqual(response.status_code, 200)
示例15: test_get_with_custom_key_using_default_key
def test_get_with_custom_key_using_default_key(self):
"""
Test that that the key can be changed on the view
This tests that the default key no longer works when the key is changed on the view
"""
# Generate signature
signature = generate_signature(self.image.id, 'fill-800x600')
# Get the image
response = self.client.get(reverse('wagtailimages_serve_custom_key', args=(signature, self.image.id, 'fill-800x600')) + 'test.png')
# Check response
self.assertEqual(response.status_code, 403)