2021-04-09 14:21:25 +02:00
|
|
|
package mf
|
|
|
|
|
|
|
|
import (
|
2021-04-09 21:00:54 +02:00
|
|
|
"brainbaking.com/go-jamming/common"
|
2021-04-09 14:21:25 +02:00
|
|
|
"crypto/md5"
|
|
|
|
"fmt"
|
|
|
|
"net/url"
|
|
|
|
)
|
|
|
|
|
|
|
|
type Mention struct {
|
|
|
|
Source string
|
|
|
|
Target string
|
|
|
|
}
|
|
|
|
|
|
|
|
func (wm *Mention) String() string {
|
|
|
|
return fmt.Sprintf("source: %s, target: %s", wm.Source, wm.Target)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (wm *Mention) AsPath(conf *common.Config) string {
|
2021-04-09 21:00:54 +02:00
|
|
|
filename := fmt.Sprintf("%x", md5.Sum([]byte("source="+wm.Source+",target="+wm.Target)))
|
2021-04-09 14:21:25 +02:00
|
|
|
domain, _ := conf.FetchDomain(wm.Target)
|
|
|
|
return conf.DataPath + "/" + domain + "/" + filename + ".json"
|
|
|
|
}
|
|
|
|
|
|
|
|
func (wm *Mention) SourceUrl() *url.URL {
|
|
|
|
url, _ := url.Parse(wm.Source)
|
|
|
|
return url
|
|
|
|
}
|