kopia lustrzana https://github.com/snarfed/bridgy-fed
Activity => Object: temporarily disable inner object rendering
...until we're storing inner objects everywhere.activity-redesign
rodzic
04c2a582b9
commit
a820eeb57a
22
render.py
22
render.py
|
@ -30,16 +30,18 @@ def render():
|
|||
error(f'Stored object for {id} has no AS1', status=404)
|
||||
|
||||
as1 = json_loads(obj.as1)
|
||||
if (as1.get('objectType') == 'activity' and
|
||||
as1.get('verb') in ('post', 'update', 'delete')):
|
||||
# redirect to inner object
|
||||
obj_id = as1.get('object')
|
||||
if isinstance(obj_id, dict):
|
||||
obj_id = obj_id.get('id')
|
||||
if not obj_id:
|
||||
error(f'Stored {type} activity has no object id!', status=404)
|
||||
logger.info(f'{type} activity, redirecting to object id {obj_id}')
|
||||
return redirect('/render?' + urlencode({'id': obj_id}), code=301)
|
||||
|
||||
# TODO: uncomment once we're storing inner objects separately
|
||||
# if (as1.get('objectType') == 'activity' and
|
||||
# as1.get('verb') in ('post', 'update', 'delete')):
|
||||
# # redirect to inner object
|
||||
# obj_id = as1.get('object')
|
||||
# if isinstance(obj_id, dict):
|
||||
# obj_id = obj_id.get('id')
|
||||
# if not obj_id:
|
||||
# error(f'Stored {type} activity has no object id!', status=404)
|
||||
# logger.info(f'{type} activity, redirecting to object id {obj_id}')
|
||||
# return redirect('/render?' + urlencode({'id': obj_id}), code=301)
|
||||
|
||||
# add HTML meta redirect to source page. should trigger for end users in
|
||||
# browsers but not for webmention receivers (hopefully).
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# coding=utf-8
|
||||
"""Unit tests for render.py."""
|
||||
import copy
|
||||
from unittest import skip
|
||||
|
||||
from granary.tests.test_as1 import COMMENT, DELETE_OF_ID, UPDATE
|
||||
from oauth_dropins.webutil.util import json_dumps
|
||||
|
@ -64,6 +65,7 @@ class RenderTest(testutil.TestCase):
|
|||
self.assert_multiline_equals(expected, resp.get_data(as_text=True),
|
||||
ignore_blanks=True)
|
||||
|
||||
@skip
|
||||
def test_render_update_redirect(self):
|
||||
# UPDATE's object field is a full object
|
||||
Object(id='abc', as1=json_dumps(UPDATE)).put()
|
||||
|
@ -72,6 +74,7 @@ class RenderTest(testutil.TestCase):
|
|||
self.assertEqual(f'/render?id=tag%3Afake.com%3A123456',
|
||||
resp.headers['Location'])
|
||||
|
||||
@skip
|
||||
def test_render_delete_redirect(self):
|
||||
# DELETE_OF_ID's object field is a bare string id
|
||||
Object(id='abc', as1=json_dumps(DELETE_OF_ID)).put()
|
||||
|
|
Ładowanie…
Reference in New Issue