rsscache 0.2.3 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|