i think this will work with mastodon import and boosts

This commit is contained in:
Ted Unangst 2021-01-18 17:25:21 -05:00
parent 758ad54a04
commit 2e3094a4b6
1 changed files with 30 additions and 17 deletions

View File

@ -39,6 +39,32 @@ func importMain(username, flavor, source string) {
}
}
type TootObject struct {
Summary string
Content string
InReplyTo string
Conversation string
Published time.Time
Tag []struct {
Type string
Name string
}
Attachment []struct {
Type string
MediaType string
Url string
Name string
}
}
type PlainTootObject TootObject
func (obj *TootObject) UnmarshalJSON(b []byte) error {
p := (*PlainTootObject)(obj)
json.Unmarshal(b, p)
return nil
}
func importMastodon(username, source string) {
user, err := butwhatabout(username)
if err != nil {
@ -49,23 +75,7 @@ func importMastodon(username, source string) {
Type string
To []string
Cc []string
Object struct {
Summary string
Content string
InReplyTo string
Conversation string
Published time.Time
Tag []struct {
Type string
Name string
}
Attachment []struct {
Type string
MediaType string
Url string
Name string
}
}
Object TootObject
}
var outbox struct {
OrderedItems []Toot
@ -94,6 +104,9 @@ func importMastodon(username, source string) {
re_tootid := regexp.MustCompile("[^/]+$")
for _, item := range outbox.OrderedItems {
toot := item
if toot.Type != "Create" {
continue
}
tootid := re_tootid.FindString(toot.Id)
xid := fmt.Sprintf("%s/%s/%s", user.URL, honkSep, tootid)
if havetoot(xid) {