feedx 0.9.2 → 0.10.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +2 -2
- data/feedx.gemspec +1 -1
- data/feedx_test.go +1 -4
- data/go.mod +1 -2
- data/go.sum +2 -4
- data/producer.go +1 -4
- data/writer.go +19 -18
- data/writer_test.go +2 -4
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ac561a2e9f403ede565104432d51ac3848c59fc8147e063e1fbdbba9486a1c34
|
4
|
+
data.tar.gz: ccf838177c08ac2d1247f61323561a3d06d43084466c34f214993f59743d646d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2de3eb9b314c84d556201d9cca545ea2c0b255c2dba0f0aba6e40e76a34092975f6ab8c8332028c22263cec358c7000e2fb188833dc45b9ba26bdb111ccda9c7
|
7
|
+
data.tar.gz: 2caa4db04fc18f4ad12b05171e1a6fd7afc9e8f52514100480e4d5762f8b7c4d1328643da9c2e39d08f005f22feefdfe5b976685729b6df2ea8c03572a694bc9
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
feedx (0.
|
4
|
+
feedx (0.10.0)
|
5
5
|
bfs (>= 0.5.0)
|
6
6
|
|
7
7
|
GEM
|
@@ -42,7 +42,7 @@ GEM
|
|
42
42
|
rubocop-performance (1.5.2)
|
43
43
|
rubocop (>= 0.71.0)
|
44
44
|
ruby-progressbar (1.10.1)
|
45
|
-
unicode-display_width (1.6.
|
45
|
+
unicode-display_width (1.6.1)
|
46
46
|
|
47
47
|
PLATFORMS
|
48
48
|
ruby
|
data/feedx.gemspec
CHANGED
data/feedx_test.go
CHANGED
@@ -31,12 +31,9 @@ var fixture = tbp.Message{
|
|
31
31
|
}
|
32
32
|
|
33
33
|
func writeMulti(obj *bfs.Object, numEntries int) error {
|
34
|
-
w
|
34
|
+
w := feedx.NewWriter(context.Background(), obj, &feedx.WriterOptions{
|
35
35
|
LastMod: time.Unix(1515151515, 123456789),
|
36
36
|
})
|
37
|
-
if err != nil {
|
38
|
-
return err
|
39
|
-
}
|
40
37
|
defer w.Discard()
|
41
38
|
|
42
39
|
for i := 0; i < numEntries; i++ {
|
data/go.mod
CHANGED
data/go.sum
CHANGED
@@ -1,9 +1,7 @@
|
|
1
|
-
github.com/bmatcuk/doublestar v1.1.5 h1:2bNwBOmhyFEFcoB3tGvTD5xanq+4kyOZlB8wFYbMjkk=
|
2
|
-
github.com/bmatcuk/doublestar v1.1.5/go.mod h1:wiQtGV+rzVYxB7WIlirSN++5HPtPlXEo9MEoZQC/PmE=
|
3
1
|
github.com/bmatcuk/doublestar v1.2.2 h1:oC24CykoSAB8zd7XgruHo33E0cHJf/WhQA/7BeXj+x0=
|
4
2
|
github.com/bmatcuk/doublestar v1.2.2/go.mod h1:wiQtGV+rzVYxB7WIlirSN++5HPtPlXEo9MEoZQC/PmE=
|
5
|
-
github.com/bsm/bfs v0.
|
6
|
-
github.com/bsm/bfs v0.
|
3
|
+
github.com/bsm/bfs v0.9.0 h1:7sUB3a5ZzzhBlCELY+2pqCaI6MbO7F2a0jhIgHihhFs=
|
4
|
+
github.com/bsm/bfs v0.9.0/go.mod h1:N3md8kQvlteRDcfc8tqw759yW98dhj+6seWEVcg4CmM=
|
7
5
|
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
|
8
6
|
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
9
7
|
github.com/gogo/protobuf v1.3.1 h1:DqDEcV5aeaTmdFBePNpYsp3FlcVH/2ISVVM9Qf8PSls=
|
data/producer.go
CHANGED
@@ -147,10 +147,7 @@ func (p *Producer) push() (*ProducerPush, error) {
|
|
147
147
|
return &ProducerPush{Producer: p}, nil
|
148
148
|
}
|
149
149
|
|
150
|
-
writer
|
151
|
-
if err != nil {
|
152
|
-
return nil, err
|
153
|
-
}
|
150
|
+
writer := NewWriter(p.ctx, p.remote, &wopt)
|
154
151
|
defer writer.Discard()
|
155
152
|
|
156
153
|
if err := p.pfn(writer); err != nil {
|
data/writer.go
CHANGED
@@ -3,7 +3,6 @@ package feedx
|
|
3
3
|
import (
|
4
4
|
"bufio"
|
5
5
|
"context"
|
6
|
-
"errors"
|
7
6
|
"io"
|
8
7
|
"time"
|
9
8
|
|
@@ -40,33 +39,29 @@ func (o *WriterOptions) norm(name string) {
|
|
40
39
|
// Writer encodes feeds to remote locations.
|
41
40
|
type Writer struct {
|
42
41
|
ctx context.Context
|
43
|
-
cancel context.CancelFunc
|
44
|
-
|
45
42
|
remote *bfs.Object
|
46
43
|
opt WriterOptions
|
47
44
|
num int
|
48
45
|
|
49
|
-
bw
|
46
|
+
bw bfs.Writer
|
50
47
|
cw io.WriteCloser // compression writer
|
51
48
|
ww *bufio.Writer
|
52
49
|
fe FormatEncoder
|
53
50
|
}
|
54
51
|
|
55
52
|
// NewWriter inits a new feed writer.
|
56
|
-
func NewWriter(ctx context.Context, remote *bfs.Object, opt *WriterOptions)
|
53
|
+
func NewWriter(ctx context.Context, remote *bfs.Object, opt *WriterOptions) *Writer {
|
57
54
|
var o WriterOptions
|
58
55
|
if opt != nil {
|
59
56
|
o = *opt
|
60
57
|
}
|
61
58
|
o.norm(remote.Name())
|
62
59
|
|
63
|
-
ctx, cancel := context.WithCancel(ctx)
|
64
60
|
return &Writer{
|
65
61
|
ctx: ctx,
|
66
|
-
cancel: cancel,
|
67
62
|
remote: remote,
|
68
63
|
opt: o,
|
69
|
-
}
|
64
|
+
}
|
70
65
|
}
|
71
66
|
|
72
67
|
// Write write raw bytes to the feed.
|
@@ -114,16 +109,27 @@ func (w *Writer) NumWritten() int {
|
|
114
109
|
|
115
110
|
// Discard closes the writer and discards the contents.
|
116
111
|
func (w *Writer) Discard() error {
|
117
|
-
w.
|
118
|
-
if
|
119
|
-
|
112
|
+
err := w.close()
|
113
|
+
if w.bw != nil {
|
114
|
+
if e := w.bw.Discard(); e != nil {
|
115
|
+
err = e
|
116
|
+
}
|
120
117
|
}
|
121
|
-
return
|
118
|
+
return err
|
122
119
|
}
|
123
120
|
|
124
121
|
// Commit closes the writer and persists the contents.
|
125
122
|
func (w *Writer) Commit() error {
|
126
|
-
|
123
|
+
err := w.close()
|
124
|
+
if w.bw != nil {
|
125
|
+
if e := w.bw.Commit(); e != nil {
|
126
|
+
err = e
|
127
|
+
}
|
128
|
+
}
|
129
|
+
return err
|
130
|
+
}
|
131
|
+
|
132
|
+
func (w *Writer) close() (err error) {
|
127
133
|
if w.fe != nil {
|
128
134
|
if e := w.fe.Close(); e != nil {
|
129
135
|
err = e
|
@@ -139,11 +145,6 @@ func (w *Writer) Commit() error {
|
|
139
145
|
err = e
|
140
146
|
}
|
141
147
|
}
|
142
|
-
if w.bw != nil {
|
143
|
-
if e := w.bw.Close(); e != nil {
|
144
|
-
err = e
|
145
|
-
}
|
146
|
-
}
|
147
148
|
return err
|
148
149
|
}
|
149
150
|
|
data/writer_test.go
CHANGED
@@ -21,10 +21,9 @@ var _ = Describe("Writer", func() {
|
|
21
21
|
})
|
22
22
|
|
23
23
|
It("should write plain", func() {
|
24
|
-
w
|
24
|
+
w := feedx.NewWriter(context.Background(), plain, &feedx.WriterOptions{
|
25
25
|
LastMod: time.Unix(1515151515, 123456789),
|
26
26
|
})
|
27
|
-
Expect(err).NotTo(HaveOccurred())
|
28
27
|
defer w.Discard()
|
29
28
|
|
30
29
|
Expect(w.Write(bytes.Repeat([]byte{'x'}, 10000))).To(Equal(10000))
|
@@ -37,10 +36,9 @@ var _ = Describe("Writer", func() {
|
|
37
36
|
})
|
38
37
|
|
39
38
|
It("should write compressed", func() {
|
40
|
-
w
|
39
|
+
w := feedx.NewWriter(context.Background(), compressed, &feedx.WriterOptions{
|
41
40
|
LastMod: time.Unix(1515151515, 123456789),
|
42
41
|
})
|
43
|
-
Expect(err).NotTo(HaveOccurred())
|
44
42
|
defer w.Discard()
|
45
43
|
|
46
44
|
Expect(w.Write(bytes.Repeat([]byte{'x'}, 10000))).To(Equal(10000))
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: feedx
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Black Square Media Ltd
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-01-
|
11
|
+
date: 2020-01-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bfs
|