Skip to content

Commit cff60a4

Browse files
committed
more detail
1 parent 2fdf371 commit cff60a4

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

examples/ctan/main.go

+15-8
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@ type item struct {
1515
Key string `json:"key,omitempty"`
1616
Name string `json:"name,omitempty"`
1717
Caption string `json:"caption,omitempty"`
18+
Authors []struct {
19+
ID string `json:"id"`
20+
Active bool `json:"active"`
21+
} `json:"authors,omitempty"`
22+
Topics []string `json:"topics,omitempty"`
1823
}
1924

2025
func main() {
@@ -33,31 +38,33 @@ func main() {
3338
log.Fatal(err)
3439
}
3540

36-
for _, pkg := range list {
37-
valStream <- pkg
41+
for _, o := range list {
42+
valStream <- o
3843
}
3944
}()
4045
return valStream
4146
}
4247

43-
doWork := func(o item) string {
48+
doWork := func(o item) item {
4449
resp, err := http.Get("https://ctan.org/json/2.0/pkg/" + o.Key)
4550
if err != nil {
4651
log.Fatal(err)
4752
}
4853
defer resp.Body.Close()
4954

50-
var pkg item
51-
if err = json.NewDecoder(resp.Body).Decode(&pkg); err != nil {
52-
log.Fatal(pkg.ID, err)
55+
if err = json.NewDecoder(resp.Body).Decode(&o); err != nil {
56+
log.Fatal(o.ID, err)
5357
}
54-
return pkg.ID
58+
return o
5559
}
5660

5761
ctx, cancel := context.WithCancel(context.TODO())
5862
defer cancel()
5963

6064
for s := range oproc.OrderedProc(ctx, inputStream(), doWork, 20) {
61-
fmt.Println(s)
65+
b, err := json.Marshal(s)
66+
if err == nil {
67+
fmt.Println(string(b))
68+
}
6269
}
6370
}

0 commit comments

Comments
 (0)