rsscache 0.2.3 → 0.3.0
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 +4 -4
- checksums.yaml.gz.sig +3 -5
- data/lib/rsscache.rb +11 -10
- data.tar.gz.sig +0 -0
- metadata +7 -8
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d7b8a75b9f765464f14794c0c83f576de028b66d3bd676cfcad0cbe146b2544d
|
4
|
+
data.tar.gz: 955f0ce59bd22e3974b95df6a19cd59e1a7cdcaaa0b269e8db33cd706db64eef
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a2113381445334a113e6461dd977ee58b0a382811f1454fca0cab627431945e4af1f813127d9fcf5381eb7dd1e0700581193e7daa00eb6706cad5e4b77509b0e
|
7
|
+
data.tar.gz: 4f745332d263530b6087ab344b0bdedbeff9d5eb59203fe94a8d589c377839050657dbfa5bb0f5fdeafc659e55630690c2b00d2aaac71bb048e2549e0ab703da
|
checksums.yaml.gz.sig
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
�
|
4
|
-
E�]�0��
|
5
|
-
U��d��rb�ʟ�#K'X�����p�W����4Ǖ�#Tb+��p��f~D)#��lX7\������H�4p����4��D�v�4OL�Bq��,�8�?n��|KBD�M��pn���I��d��ا��E�C�0��sk�)����tdN�\^�*C�@p
|
1
|
+
�u��>�����u*Y��v��X���m���[U(
|
2
|
+
�y\?��i�MR�7�����[!R�^o�u)��S�G�`6|���5�=&
|
3
|
+
6�mQ�PlʌP|�v=I��w�y �m8,��>~ޕ˶��[�=��&Ԭ�Y��Bq}W���-�5�1�0��|nk��75�V��ۻ5�e쥆~�+�i�ƾC��7�z�zb�ܴx�f�iI�a(���bV?'� ������d����'�at���O������Z��� ]e�;�ǪW@d�
|
data/lib/rsscache.rb
CHANGED
@@ -5,11 +5,12 @@
|
|
5
5
|
require 'dynarex'
|
6
6
|
require 'open-uri'
|
7
7
|
require 'simple-rss'
|
8
|
-
require 'fileutils'
|
9
8
|
require 'timeout'
|
9
|
+
require 'rxfreadwrite'
|
10
10
|
|
11
11
|
|
12
12
|
class RSScache
|
13
|
+
include RXFReadWrite
|
13
14
|
|
14
15
|
attr_reader :err_report, :dx
|
15
16
|
|
@@ -19,7 +20,7 @@ class RSScache
|
|
19
20
|
@dx = open_dynarex(rsslist)
|
20
21
|
@filepath = filepath
|
21
22
|
@cache_filepath = File.join(filepath, 'rsscache')
|
22
|
-
|
23
|
+
FileX.mkdir_p @cache_filepath
|
23
24
|
|
24
25
|
@err_report = []
|
25
26
|
@debug = debug
|
@@ -31,7 +32,7 @@ class RSScache
|
|
31
32
|
#
|
32
33
|
def import(raw_s)
|
33
34
|
|
34
|
-
s, _ =
|
35
|
+
s, _ = RXFReader.read(raw_s)
|
35
36
|
|
36
37
|
s.strip.lines.each do |raw_url|
|
37
38
|
|
@@ -102,7 +103,7 @@ class RSScache
|
|
102
103
|
def save()
|
103
104
|
|
104
105
|
@dx.save File.join(@filepath, 'rsscache.xml')
|
105
|
-
|
106
|
+
FileX.write File.join(@filepath, 'rsscache.txt'), @dx.to_s
|
106
107
|
|
107
108
|
end
|
108
109
|
|
@@ -145,7 +146,7 @@ EOF
|
|
145
146
|
|
146
147
|
def open_dynarex(raw_s)
|
147
148
|
|
148
|
-
s, _ =
|
149
|
+
s, _ = RXFReader.read(raw_s)
|
149
150
|
puts 'inside open_dynarex s: ' + s.inspect if @debug
|
150
151
|
|
151
152
|
case s
|
@@ -201,22 +202,22 @@ EOF
|
|
201
202
|
|
202
203
|
rssfile = File.join(@cache_filepath, feed.filename)
|
203
204
|
|
204
|
-
if
|
205
|
+
if FileX.exists? rssfile then
|
205
206
|
|
206
207
|
begin
|
207
|
-
rss_cache = SimpleRSS.parse
|
208
|
+
rss_cache = SimpleRSS.parse FileX.read(rssfile)
|
208
209
|
rescue
|
209
210
|
puts 'RSScache::updates?: err: 200 SimpleRSS warning for feed ' \
|
210
211
|
+ feed.url + ' ' + ($!).inspect
|
211
|
-
|
212
|
+
FileX.rm rssfile
|
212
213
|
return false
|
213
214
|
end
|
214
215
|
new_rss_items = rss.items - rss_cache.items
|
215
|
-
(
|
216
|
+
(FileX.write rssfile, rss.source; return true) if new_rss_items.any?
|
216
217
|
|
217
218
|
else
|
218
219
|
|
219
|
-
|
220
|
+
FileX.write rssfile, rss.source
|
220
221
|
feed.title = rss.title if feed.title.empty?
|
221
222
|
|
222
223
|
return true
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rsscache
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -35,7 +35,7 @@ cert_chain:
|
|
35
35
|
G9akldSLDKgsN9vmwihdlnktMrNa8HUDxodpx5FFzXDsza/qaExLHJA4hPkbgeiC
|
36
36
|
4DQl3q4AK/bNTpTtJNtNQxts
|
37
37
|
-----END CERTIFICATE-----
|
38
|
-
date:
|
38
|
+
date: 2022-02-22 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: dynarex
|
@@ -43,20 +43,20 @@ dependencies:
|
|
43
43
|
requirements:
|
44
44
|
- - "~>"
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: '1.
|
46
|
+
version: '1.9'
|
47
47
|
- - ">="
|
48
48
|
- !ruby/object:Gem::Version
|
49
|
-
version: 1.
|
49
|
+
version: 1.9.5
|
50
50
|
type: :runtime
|
51
51
|
prerelease: false
|
52
52
|
version_requirements: !ruby/object:Gem::Requirement
|
53
53
|
requirements:
|
54
54
|
- - "~>"
|
55
55
|
- !ruby/object:Gem::Version
|
56
|
-
version: '1.
|
56
|
+
version: '1.9'
|
57
57
|
- - ">="
|
58
58
|
- !ruby/object:Gem::Version
|
59
|
-
version: 1.
|
59
|
+
version: 1.9.5
|
60
60
|
- !ruby/object:Gem::Dependency
|
61
61
|
name: simple-rss
|
62
62
|
requirement: !ruby/object:Gem::Requirement
|
@@ -103,8 +103,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
103
103
|
- !ruby/object:Gem::Version
|
104
104
|
version: '0'
|
105
105
|
requirements: []
|
106
|
-
|
107
|
-
rubygems_version: 2.7.10
|
106
|
+
rubygems_version: 3.2.22
|
108
107
|
signing_key:
|
109
108
|
specification_version: 4
|
110
109
|
summary: This gem helps reduce unnecessary requests to webservers by caching RSS feeds
|
metadata.gz.sig
CHANGED
Binary file
|