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']
|
||||
handle = ATProto(id=owner).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:
|
||||
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
|
||||
if set(actor.keys()) == {'id'} and 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)
|
||||
if actor_obj and 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)
|
||||
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):
|
||||
obj = Object(mf2={
|
||||
'properties': {
|
||||
|
|
Ładowanie…
Reference in New Issue