kopia lustrzana https://github.com/snarfed/bridgy-fed
Object.as1 from bsky: bug fix for PDS in getBlob image URLs
rodzic
878bbde328
commit
e86763f654
|
@ -627,7 +627,7 @@ class Object(StringIdModel):
|
||||||
ATProto = PROTOCOLS['atproto']
|
ATProto = PROTOCOLS['atproto']
|
||||||
handle = ATProto(id=owner).handle
|
handle = ATProto(id=owner).handle
|
||||||
obj = bluesky.to_as1(self.bsky, repo_did=owner, repo_handle=handle,
|
obj = bluesky.to_as1(self.bsky, repo_did=owner, repo_handle=handle,
|
||||||
uri=self.key.id(), pds=ATProto.target_for(self))
|
uri=self.key.id(), pds=ATProto.pds_for(self))
|
||||||
|
|
||||||
elif self.mf2:
|
elif self.mf2:
|
||||||
obj = microformats2.json_to_object(self.mf2,
|
obj = microformats2.json_to_object(self.mf2,
|
||||||
|
@ -868,9 +868,6 @@ class Object(StringIdModel):
|
||||||
# TODO: optimize! this is called serially in loops, eg in home.html
|
# TODO: optimize! this is called serially in loops, eg in home.html
|
||||||
if set(actor.keys()) == {'id'} and self.source_protocol:
|
if set(actor.keys()) == {'id'} and self.source_protocol:
|
||||||
proto = PROTOCOLS[self.source_protocol]
|
proto = PROTOCOLS[self.source_protocol]
|
||||||
# STATE: this load gets the DID doc, not the profile object
|
|
||||||
# should we start using at://[did] as actor/author? or special case
|
|
||||||
# atproto here?
|
|
||||||
actor_obj = proto.load(actor['id'], remote=False)
|
actor_obj = proto.load(actor['id'], remote=False)
|
||||||
if actor_obj and actor_obj.as1:
|
if actor_obj and actor_obj.as1:
|
||||||
actor = actor_obj.as1
|
actor = actor_obj.as1
|
||||||
|
|
|
@ -642,6 +642,23 @@ class ObjectTest(TestCase):
|
||||||
obj = Object(id='at://did:plc:foo/like/123', bsky=like_bsky)
|
obj = Object(id='at://did:plc:foo/like/123', bsky=like_bsky)
|
||||||
self.assert_equals(like_as1, obj.as1)
|
self.assert_equals(like_as1, obj.as1)
|
||||||
|
|
||||||
|
def test_as1_from_bsky_image_blob(self):
|
||||||
|
self.store_object(id='did:web:alice.com', raw={
|
||||||
|
**DID_DOC,
|
||||||
|
'alsoKnownAs': ['at://alice.com'],
|
||||||
|
})
|
||||||
|
|
||||||
|
obj = Object(id='at://did:web:alice.com/app.bsky.actor.profile/self', bsky={
|
||||||
|
**ACTOR_PROFILE_BSKY,
|
||||||
|
'banner': None,
|
||||||
|
})
|
||||||
|
self.assert_equals({
|
||||||
|
**ACTOR_AS,
|
||||||
|
'image': [{
|
||||||
|
'url': 'https://some.pds/xrpc/com.atproto.sync.getBlob?did=did:web:alice.com&cid=bafkreim',
|
||||||
|
}],
|
||||||
|
}, obj.as1)
|
||||||
|
|
||||||
def test_as1_from_mf2_uses_url_as_id(self):
|
def test_as1_from_mf2_uses_url_as_id(self):
|
||||||
obj = Object(mf2={
|
obj = Object(mf2={
|
||||||
'properties': {
|
'properties': {
|
||||||
|
|
Ładowanie…
Reference in New Issue