mirror of
https://github.com/bookwyrm-social/bookwyrm.git
synced 2024-11-27 03:51:08 +00:00
Merge pull request #1242 from bookwyrm-social/image-federation
Fixes image federation
This commit is contained in:
commit
6d82bafdc0
4 changed files with 29 additions and 1 deletions
|
@ -13,6 +13,7 @@ from django.db import models
|
|||
from django.forms import ClearableFileInput, ImageField as DjangoImageField
|
||||
from django.utils import timezone
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from bookwyrm import activitypub
|
||||
from bookwyrm.connectors import get_image
|
||||
from bookwyrm.sanitize_html import InputHtmlParser
|
||||
|
@ -354,7 +355,8 @@ def image_serializer(value, alt):
|
|||
url = value.url
|
||||
else:
|
||||
return None
|
||||
url = "https://%s%s" % (DOMAIN, url)
|
||||
if not url[:4] == "http":
|
||||
url = "https://{:s}{:s}".format(DOMAIN, url)
|
||||
return activitypub.Document(url=url, name=alt)
|
||||
|
||||
|
||||
|
|
|
@ -426,6 +426,15 @@ class ActivitypubFields(TestCase):
|
|||
self.assertIsInstance(loaded_image, list)
|
||||
self.assertIsInstance(loaded_image[1], ContentFile)
|
||||
|
||||
def test_image_serialize(self):
|
||||
"""make sure we're creating sensible image paths"""
|
||||
ValueMock = namedtuple("ValueMock", ("url"))
|
||||
value_mock = ValueMock("/images/fish.jpg")
|
||||
result = fields.image_serializer(value_mock, "hello")
|
||||
self.assertEqual(result.type, "Document")
|
||||
self.assertEqual(result.url, "https://your.domain.here/images/fish.jpg")
|
||||
self.assertEqual(result.name, "hello")
|
||||
|
||||
def test_datetime_field(self):
|
||||
"""this one is pretty simple, it just has to use isoformat"""
|
||||
instance = fields.DateTimeField()
|
||||
|
|
16
pytest.ini
16
pytest.ini
|
@ -4,3 +4,19 @@ python_files = tests.py test_*.py *_tests.py
|
|||
addopts = --cov=bookwyrm --cov-config=.coveragerc
|
||||
markers =
|
||||
integration: marks tests as requiring external resources (deselect with '-m "not integration"')
|
||||
|
||||
env =
|
||||
DEBUG = false
|
||||
DOMAIN = your.domain.here
|
||||
BOOKWYRM_DATABASE_BACKEND = postgres
|
||||
MEDIA_ROOT = images/
|
||||
CELERY_BROKER = ""
|
||||
REDIS_BROKER_PORT = 6379
|
||||
FLOWER_PORT = 8888
|
||||
EMAIL_HOST = "smtp.mailgun.org"
|
||||
EMAIL_PORT = 587
|
||||
EMAIL_HOST_USER = ""
|
||||
EMAIL_HOST_PASSWORD = ""
|
||||
EMAIL_USE_TLS = true
|
||||
ENABLE_PREVIEW_IMAGES = false
|
||||
USE_S3 = false
|
||||
|
|
|
@ -23,4 +23,5 @@ coverage==5.1
|
|||
pytest-django==4.1.0
|
||||
pytest==6.1.2
|
||||
pytest-cov==2.10.1
|
||||
pytest-env==0.6.2
|
||||
pytest-xdist==2.3.0
|
||||
|
|
Loading…
Reference in a new issue