chronicle-zulip 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 27ed02b087bd99b0db8a702d8140add3dba7cdc9df1b3fea0cb2825b49051642
4
- data.tar.gz: 01a4efcbf6ccc39ed9d21672684c32c71b37759b32fbaf553097b21edf4a4ce5
3
+ metadata.gz: 91dd77da48e69a06d1c51c42c5f30176a1f505c1146beba1e90ab20082319657
4
+ data.tar.gz: 7dbba071cf1751d5cb5bcd98c8aa3de21eda4c079d8f6df8ce3fce2d64db68f9
5
5
  SHA512:
6
- metadata.gz: 2c706f57da0de15bce5c20430edeebc9b358c55e0e5d060ebe770f91e70e40dfba3ff08edc419e704ba7901d8bae1cf65e5f16ebe033c57d680c6c8400f65b47
7
- data.tar.gz: b02063a99a83b93e93f44926d44cd16d17e8125ac250a5300b8a3874d3eadd656e2ef9d7d91a01db5c44aee8129b1dcfe5dbdbdbcb61c6f325375b1f8e4d1730
6
+ metadata.gz: 380402b0751106c498357407828fd9f2efb16f5a13b4188d13c66132ac974e8d23483c87e6225f4d4a3275a97a8c8cba5c01f7fbbc4b0a4af6edd8c696d6462a
7
+ data.tar.gz: 12e2449d3db8d91c2097c2f91513da094917ca8523aed1bc2190470b4cda9f6d85ec6df5d97dc3966c834e99912225cc4aeb5606fd409d6664124fab9eff454a
data/README.md CHANGED
@@ -20,7 +20,7 @@ $ chronicle-etl secrets:set zulip access_token ACCESS_TOKEN
20
20
  $ chronicle-etl secrets:set zulip realm foo
21
21
 
22
22
  # Then, retrieve your private messages
23
- $ chronicle-etl --extractor zulip:private-messages --loader json
23
+ $ chronicle-etl --extractor zulip:private-message --loader json
24
24
  ```
25
25
 
26
26
  ## Available Connectors
@@ -18,7 +18,7 @@ module Chronicle
18
18
  end
19
19
 
20
20
  def extract
21
- @proxy.all_private_messages do |message|
21
+ @proxy.all_private_messages(since: @config.since, limit: @config.limit) do |message|
22
22
  yield Chronicle::ETL::Extraction.new(data: message)
23
23
  end
24
24
  end
@@ -9,28 +9,34 @@ module Chronicle
9
9
  @realm = realm
10
10
  end
11
11
 
12
- def all_private_messages(anchor: 'oldest')
12
+ def all_private_messages(anchor: 'newest', since: nil, limit: nil)
13
13
  narrow = '[{"negated":false,"operator":"is","operand":"private"}]'
14
14
  has_more = true
15
+ count = 0
15
16
 
16
17
  while has_more
17
18
  response = load_messages(anchor: anchor, narrow: narrow)
18
- messages = response[:messages] || []
19
+ messages = response[:messages].reverse || []
20
+ messages = messages.first(limit - count) if limit
21
+ messages = messages.filter { |message| Time.at(message[:timestamp]) > since } if since
22
+
23
+ break unless messages.any?
19
24
 
20
25
  messages.each do |message|
26
+ count += 1
21
27
  yield message
22
28
  end
23
29
 
24
- has_more = !response[:found_newest]
25
- anchor = messages.map { |message| message[:id] }.max
30
+ has_more = !response[:found_oldest]
31
+ anchor = messages.map { |message| message[:id] }.min - 1
26
32
  end
27
33
  end
28
34
 
29
35
  def load_messages(anchor:, narrow:)
30
36
  params = {
31
37
  narrow: narrow,
32
- num_after: '50',
33
- num_before: '0',
38
+ num_after: '0',
39
+ num_before: '100',
34
40
  anchor: anchor,
35
41
  apply_markdown: 'false'
36
42
  }
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Chronicle
4
4
  module Zulip
5
- VERSION = "0.1.1"
5
+ VERSION = "0.1.2"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chronicle-zulip
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Louis