polyrex-feed-reader 0.5.10 → 0.5.11

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 67f44809bc6fa5bac6ca8eae4845bba187a4e328
4
- data.tar.gz: 3e969cbe3072d660d388acb5e0cfde488f8a2c49
3
+ metadata.gz: d3e9f65a84bf29c0045a70fdf9a4977938b9eeaf
4
+ data.tar.gz: 866757cc281304194410d6d23d62398d9e61b61d
5
5
  SHA512:
6
- metadata.gz: 87519b2eb22d630c70910beaba156a542d0af615e4eab5dee99b4137d88f9cc57325c13497e6192701d461dd32b9d6a224c019d3a0dc80f093efaf3129da45a1
7
- data.tar.gz: bf9d51264120112e3e463aa94e66e6f50c822a28738710d3e6993c061d5a65d1962d221700feb236d53ff76142e8da5c050e6a5206fc7ba83bd70bc2e9a78483
6
+ metadata.gz: 48f03a52b317a7187bf583b32214b458acda5a6902fd688800dc874eebce045d163bbb5166451db1dbf70c4f3e7e0e379ebf600aed875c729c7ce35558d226de
7
+ data.tar.gz: 5120ec5fcc0ae3370b2d139d0bde3bb6ad25678588bab161542880e1f5149b2aa48933bca206f94b3067df77033bc83618b3c304ca52523b121e3f2906c1d83e
checksums.yaml.gz.sig CHANGED
@@ -1,3 +1,2 @@
1
- ���Y\U,��I�_�f�K�I���g�3��KT�N�K�� �1��s�Fލ���ޔ]d;�j�^�*���־_Jʄ�����^�%���S�7����,cr��ܨ��S��>�Q4���ܸ�\T��;ȭ�� f}�봑A@B�=�n
2
- xw/�G���H-�����#RH�٘v��xRA�Ūl.�"r�8�7���RXu���
3
- vɆ`W:�Ƙ��eNw��wڙ �4Ġ�Hz;�v�+���q�
1
+ `�kʐ�
2
+ b����Cx1��w6��p�~H���n�%��@�|_�f�t��gC���rQ�Xۺ`jԂ8Q��xs`%��Y�����?���X��v/����a���l��_(�۴�{JH�w��A?�(�;9���������0ڑ�
data.tar.gz.sig CHANGED
Binary file
data/lib/feeds.xsl CHANGED
@@ -17,7 +17,6 @@
17
17
  <header>
18
18
  <a name="top"/>
19
19
  <xsl:apply-templates select='summary'/>
20
-
21
20
  <div>
22
21
  <ul>
23
22
  <li>hotter</li>
@@ -51,6 +50,13 @@
51
50
 
52
51
  <xsl:template match='feeds/summary'>
53
52
  <a href="javascript:window.location.reload()"><h1><xsl:value-of select='title'/></h1></a>
53
+ <p></p>
54
+ <ul>
55
+ <li>last updated: <xsl:value-of select="last_modified"/></li>
56
+ <li>feed count: <xsl:value-of select="feed_count"/></li>
57
+ <li><a href="feeds.opml">feeds.opml</a></li>
58
+ <li><a href="latest.html">latest</a></li></ul>
59
+
54
60
  </xsl:template>
55
61
 
56
62
  <xsl:template match='records/column'>
@@ -14,6 +14,13 @@ DAY = HOUR * 24
14
14
  WEEK = DAY * 7
15
15
  MONTH = DAY * 30
16
16
 
17
+ W3CENTITIES =<<EOF
18
+ <!DOCTYPE stylesheet [
19
+ <!ENTITY % w3centities-f PUBLIC "-//W3C//ENTITIES Combined Set//EN//XML"
20
+ "http://www.w3.org/2003/entities/2007/w3centities-f.ent">
21
+ %w3centities-f;
22
+ ]>
23
+ EOF
17
24
 
18
25
  class PolyrexFeedReader
19
26
 
@@ -23,6 +30,10 @@ class PolyrexFeedReader
23
30
 
24
31
  end
25
32
 
33
+ def feed_count()
34
+ @polyrex.xpath 'count(records/column/records/section/records/feed)'
35
+ end
36
+
26
37
  def feeds_to_html()
27
38
 
28
39
  feeds do |feed, filename|
@@ -35,13 +46,7 @@ class PolyrexFeedReader
35
46
 
36
47
  def fetch_feeds()
37
48
 
38
- w3centities =<<EOF
39
- <!DOCTYPE stylesheet [
40
- <!ENTITY % w3centities-f PUBLIC "-//W3C//ENTITIES Combined Set//EN//XML"
41
- "http://www.w3.org/2003/entities/2007/w3centities-f.ent">
42
- %w3centities-f;
43
- ]>
44
- EOF
49
+
45
50
 
46
51
  feeds do |feed, filename|
47
52
 
@@ -55,7 +60,7 @@ EOF
55
60
  a = xml.lines.to_a
56
61
  line1 = a.shift
57
62
  a.unshift %Q{<?xml-stylesheet title="XSL_formatting" type="text/xsl" href="dynarex-feed.xsl"?>\n}
58
- a.unshift w3centities
63
+ a.unshift W3CENTITIES
59
64
  a.unshift line1
60
65
  a.join
61
66
  end
@@ -66,12 +71,14 @@ EOF
66
71
 
67
72
  def refresh
68
73
 
74
+ @datetimestamp = datetimestamp()
75
+
69
76
  feeds do |feed, filename|
70
77
 
71
78
  d = Dynarex.new filename
72
79
 
73
- feed.last_accessed = datetimestamp()
74
- feed.last_modified = datetimestamp() if feed.last_modified.empty?
80
+ feed.last_accessed = @datetimestamp
81
+ feed.last_modified = @datetimestamp if feed.last_modified.empty?
75
82
  feed.xhtml = filename
76
83
 
77
84
  items = d.to_h[0..2]
@@ -104,7 +111,7 @@ EOF
104
111
  feed.create.item h
105
112
  end
106
113
 
107
- feed.last_modified = datetimestamp()
114
+ feed.last_modified = @datetimestamp
108
115
 
109
116
  end
110
117
  end
@@ -124,7 +131,52 @@ EOF
124
131
  xsltproc 'feeds.xsl', @polyrex.to_xml, filepath
125
132
  end
126
133
 
134
+ def save_latestnews(filename='latest.html')
135
+
136
+
137
+
138
+ last_modified = @polyrex.summary.last_modified
139
+ e = @polyrex.xpath 'records/column/records/section/records/'\
140
+ + 'feed[summary/last_modified="' + last_modified + '"]'
141
+
142
+ dynarex = Dynarex.new 'feeds/feed(source, title, link, description)'
143
+
144
+ e.each() do |feed|
145
+
146
+ summary = feed.element 'records/item/summary'
147
+
148
+ record = {
149
+ source: feed.text('summary/title'),
150
+ title: summary.text('title'),
151
+ link: summary.text('link'),
152
+ description: summary.text('description')
153
+ }
154
+ dynarex.create record
155
+ end
156
+
157
+ #filename = 'latest.xml'
158
+ =begin
159
+ dynarex.save(filename) do |xml|
160
+ a = xml.lines.to_a
161
+ line1 = a.shift
162
+ a.unshift %Q{<?xml-stylesheet title="XSL_formatting" type="text/xsl" href="latest.xsl"?>\n}
163
+ a.unshift W3CENTITIES
164
+ a.unshift line1
165
+ a.join
166
+ end
167
+ =end
168
+
169
+ xsltproc 'latest.xsl', dynarex.to_xml, filename
170
+ end
171
+
172
+ def save_opml(filepath='feeds.opml')
173
+ xsltproc 'opml-feeds.xsl', @polyrex.to_xml, filepath
174
+ end
175
+
127
176
  def save_xml(filepath='feeds.xml')
177
+ @polyrex.summary.last_modified = @datetimestamp
178
+ @polyrex.summary.feed_count = @polyrex.xpath \
179
+ 'count(records/column/records/section/records/feed)'
128
180
  @polyrex.save filepath, pretty: true
129
181
  end
130
182
 
@@ -162,6 +214,7 @@ EOF
162
214
 
163
215
  def nothing_new?(feed)
164
216
 
217
+ feed.last_accessed = Time.now - WEEK if feed.last_accessed.empty?
165
218
  feed.occurrence == 'daily' and \
166
219
  Time.parse(feed.last_accessed) + DAY > Time.now
167
220
  end
@@ -184,6 +237,7 @@ EOF
184
237
  end
185
238
  end
186
239
 
240
+
187
241
  def xsltproc(xslfilename, xml, filepath='feeds.html')
188
242
 
189
243
  lib = File.dirname(__FILE__)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: polyrex-feed-reader
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.10
4
+ version: 0.5.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
metadata.gz.sig CHANGED
@@ -1,3 +1 @@
1
- ��mCZ��C�Y;�G�ͧ pǙ(ß��� ��nJ%�"�G�c�
2
- i:�}�Iѐ6���ƃ������4TL�\aѹ�ȩeJMF~J"P�|�?��?�H��k�AN��Y��
3
- ��kiK?�!��O��}ɟ(�rQ��\,K��R��Iv�]��� �朲�!�(�3Z�9���6��:A�7�zǦ�
1
+ �����D�>>���D����V���:4#��G<����Rs�e3������)<�3T��V8]�z�c�t"}_�&ݠ X��~[����;�_�4Fm��_5�u��U�+o� �Z�\��6��<%��_,