summaryrefslogtreecommitdiff
path: root/internal/ap
diff options
context:
space:
mode:
authorLibravatar tsmethurst <tobi.smethurst@protonmail.com>2022-01-09 18:41:22 +0100
committerLibravatar tsmethurst <tobi.smethurst@protonmail.com>2022-01-09 18:41:22 +0100
commitdccf21dd87638320a687a0556c973cced541c945 (patch)
tree03dd737e3d44bdad52b6a2ac2f1e78ec876d2ba1 /internal/ap
parentcompiling now (diff)
downloadgotosocial-dccf21dd87638320a687a0556c973cced541c945.tar.xz
tests are passing, but there's still much to be done
Diffstat (limited to 'internal/ap')
-rw-r--r--internal/ap/extract.go18
-rw-r--r--internal/ap/extractattachments_test.go2
-rw-r--r--internal/ap/interfaces.go8
3 files changed, 15 insertions, 13 deletions
diff --git a/internal/ap/extract.go b/internal/ap/extract.go
index ed61faf1e..49dac7186 100644
--- a/internal/ap/extract.go
+++ b/internal/ap/extract.go
@@ -395,20 +395,20 @@ func ExtractAttachment(i Attachmentable) (*gtsmodel.MediaAttachment, error) {
attachment.Description = name
}
+ attachment.Blurhash = ExtractBlurhash(i)
+
attachment.Processing = gtsmodel.ProcessingStatusReceived
return attachment, nil
}
-// func extractBlurhash(i withBlurhash) (string, error) {
-// if i.GetTootBlurhashProperty() == nil {
-// return "", errors.New("blurhash property was nil")
-// }
-// if i.GetTootBlurhashProperty().Get() == "" {
-// return "", errors.New("empty blurhash string")
-// }
-// return i.GetTootBlurhashProperty().Get(), nil
-// }
+// ExtractBlurhash extracts the blurhash value (if present) from a WithBlurhash interface.
+func ExtractBlurhash(i WithBlurhash) string {
+ if i.GetTootBlurhash() == nil {
+ return ""
+ }
+ return i.GetTootBlurhash().Get()
+}
// ExtractHashtags returns a slice of tags on the interface.
func ExtractHashtags(i WithTag) ([]*gtsmodel.Tag, error) {
diff --git a/internal/ap/extractattachments_test.go b/internal/ap/extractattachments_test.go
index 3cee98faa..b937911d2 100644
--- a/internal/ap/extractattachments_test.go
+++ b/internal/ap/extractattachments_test.go
@@ -42,7 +42,7 @@ func (suite *ExtractAttachmentsTestSuite) TestExtractAttachments() {
suite.Equal("image/jpeg", attachment1.File.ContentType)
suite.Equal("https://s3-us-west-2.amazonaws.com/plushcity/media_attachments/files/106/867/380/219/163/828/original/88e8758c5f011439.jpg", attachment1.RemoteURL)
suite.Equal("It's a cute plushie.", attachment1.Description)
- suite.Empty(attachment1.Blurhash) // atm we discard blurhashes and generate them ourselves during processing
+ suite.Equal("UxQ0EkRP_4tRxtRjWBt7%hozM_ayV@oLf6WB", attachment1.Blurhash)
}
func (suite *ExtractAttachmentsTestSuite) TestExtractNoAttachments() {
diff --git a/internal/ap/interfaces.go b/internal/ap/interfaces.go
index 582465ec3..6edaa42ba 100644
--- a/internal/ap/interfaces.go
+++ b/internal/ap/interfaces.go
@@ -70,6 +70,7 @@ type Attachmentable interface {
WithMediaType
WithURL
WithName
+ WithBlurhash
}
// Hashtaggable represents the minimum activitypub interface for representing a 'hashtag' tag.
@@ -284,9 +285,10 @@ type WithMediaType interface {
GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty
}
-// type withBlurhash interface {
-// GetTootBlurhashProperty() vocab.TootBlurhashProperty
-// }
+// WithBlurhash represents an activity with TootBlurhashProperty
+type WithBlurhash interface {
+ GetTootBlurhash() vocab.TootBlurhashProperty
+}
// type withFocalPoint interface {
// // TODO