M activity.go +6 -5
@@ 1891,22 1891,23 @@ func gofish(name string) string {
return href
}
-func investigate(name string) (*SomeThing, error) {
+func investigate(name string) (*SomeThing, junk.Junk, error) {
if name == "" {
- return nil, fmt.Errorf("no name")
+ return nil, nil, fmt.Errorf("no name")
}
if name[0] == '@' {
name = gofish(name)
}
if name == "" {
- return nil, fmt.Errorf("no name")
+ return nil, nil, fmt.Errorf("no name")
}
obj, err := GetJunkFast(readyLuserOne, name)
if err != nil {
- return nil, err
+ return nil, nil, err
}
allinjest(originate(name), obj)
- return somethingabout(obj)
+ info, err := somethingabout(obj)
+ return info, obj, err
}
func somethingabout(obj junk.Junk) (*SomeThing, error) {
M database.go +1 -1
@@ 1007,7 1007,7 @@ func savehonker(user *WhatAbout, url, na
owner = url
} else {
- info, err := investigate(url)
+ info, _, err := investigate(url)
if err != nil {
ilog.Printf("failed to investigate honker: %s", err)
return 0, "", err
M fun.go +1 -1
@@ 636,7 636,7 @@ var allhandles = gencache.New(gencache.O
handle := getxonker(xid, "handle")
if handle == "" {
dlog.Printf("need to get a handle: %s", xid)
- info, err := investigate(xid)
+ info, _, err := investigate(xid)
if err != nil {
m := re_unurl.FindStringSubmatch(xid)
if len(m) > 2 {
M web.go +5 -9
@@ 694,21 694,17 @@ func ximport(w http.ResponseWriter, r *h
xid := strings.TrimSpace(r.FormValue("q"))
xonk := getxonk(UserID(u.UserID), xid)
if xonk == nil {
- p, _ := investigate(xid)
- if p != nil {
- xid = p.XID
- }
- j, err := GetJunk(UserID(u.UserID), xid)
- if err != nil {
+ info, j, err := investigate(xid)
+ if j == nil {
http.Error(w, "error getting external object", http.StatusInternalServerError)
ilog.Printf("error getting external object: %s", err)
return
}
- allinjest(originate(xid), j)
- dlog.Printf("importing %s", xid)
+ if info != nil {
+ xid = info.XID
+ }
user, _ := butwhatabout(u.Username)
- info, _ := somethingabout(j)
if info == nil {
xonk = xonksaver(user, j, originate(xid))
} else if info.What == SomeActor {