47 lines
908 B
Go
47 lines
908 B
Go
|
package main
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
"flag"
|
||
|
"fmt"
|
||
|
"os"
|
||
|
"strings"
|
||
|
|
||
|
proto "git.abbiamoundominio.org/hamcha/bacheca/proto"
|
||
|
|
||
|
"github.com/go-kit/kit/log"
|
||
|
|
||
|
svc "git.abbiamoundominio.org/hamcha/bacheca"
|
||
|
)
|
||
|
|
||
|
func main() {
|
||
|
format := flag.String("fmt", "rss", "Feed format (rss, atom, json)")
|
||
|
flag.Parse()
|
||
|
|
||
|
ftype := strings.ToUpper(*format)
|
||
|
fid, ok := proto.GetFeedRequest_FeedType_value[ftype]
|
||
|
if !ok {
|
||
|
panic("invalid format (-fmt), check help for supported formats")
|
||
|
}
|
||
|
|
||
|
var logger log.Logger
|
||
|
{
|
||
|
logger = log.NewLogfmtLogger(os.Stderr)
|
||
|
logger = log.With(logger, "ts", log.DefaultTimestampUTC)
|
||
|
logger = log.With(logger, "caller", log.DefaultCaller)
|
||
|
}
|
||
|
|
||
|
s := svc.MakeService()
|
||
|
|
||
|
req := &proto.GetFeedRequest{
|
||
|
FeedType: proto.GetFeedRequest_FeedType(fid),
|
||
|
}
|
||
|
rsp := &proto.GetFeedResponse{}
|
||
|
err := s.GetFeed(context.Background(), req, rsp)
|
||
|
if err != nil {
|
||
|
panic(err)
|
||
|
}
|
||
|
|
||
|
fmt.Print(rsp.Data)
|
||
|
}
|