feedtools 0.2.26 → 0.2.27
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +232 -216
- data/db/migration.rb +2 -0
- data/db/schema.mysql.sql +2 -0
- data/db/schema.postgresql.sql +3 -1
- data/db/schema.sqlite.sql +3 -1
- data/lib/feed_tools.rb +37 -14
- data/lib/feed_tools/database_feed_cache.rb +13 -2
- data/lib/feed_tools/feed.rb +430 -104
- data/lib/feed_tools/feed_item.rb +533 -268
- data/lib/feed_tools/helpers/generic_helper.rb +1 -1
- data/lib/feed_tools/helpers/html_helper.rb +78 -116
- data/lib/feed_tools/helpers/retrieval_helper.rb +33 -3
- data/lib/feed_tools/helpers/uri_helper.rb +46 -54
- data/lib/feed_tools/monkey_patch.rb +27 -1
- data/lib/feed_tools/vendor/html5/History.txt +10 -0
- data/lib/feed_tools/vendor/html5/Manifest.txt +117 -0
- data/lib/feed_tools/vendor/html5/README +45 -0
- data/lib/feed_tools/vendor/html5/Rakefile.rb +33 -0
- data/lib/feed_tools/vendor/html5/bin/html5 +217 -0
- data/lib/feed_tools/vendor/html5/lib/core_ext/string.rb +17 -0
- data/lib/feed_tools/vendor/html5/lib/html5.rb +13 -0
- data/lib/feed_tools/vendor/html5/lib/html5/constants.rb +1046 -0
- data/lib/feed_tools/vendor/html5/lib/html5/filters/base.rb +10 -0
- data/lib/feed_tools/vendor/html5/lib/html5/filters/inject_meta_charset.rb +82 -0
- data/lib/feed_tools/vendor/html5/lib/html5/filters/iso639codes.rb +752 -0
- data/lib/feed_tools/vendor/html5/lib/html5/filters/optionaltags.rb +198 -0
- data/lib/feed_tools/vendor/html5/lib/html5/filters/rfc2046.rb +30 -0
- data/lib/feed_tools/vendor/html5/lib/html5/filters/rfc3987.rb +89 -0
- data/lib/feed_tools/vendor/html5/lib/html5/filters/sanitizer.rb +15 -0
- data/lib/feed_tools/vendor/html5/lib/html5/filters/validator.rb +830 -0
- data/lib/feed_tools/vendor/html5/lib/html5/filters/whitespace.rb +36 -0
- data/lib/feed_tools/vendor/html5/lib/html5/html5parser.rb +248 -0
- data/lib/feed_tools/vendor/html5/lib/html5/html5parser/after_body_phase.rb +46 -0
- data/lib/feed_tools/vendor/html5/lib/html5/html5parser/after_frameset_phase.rb +33 -0
- data/lib/feed_tools/vendor/html5/lib/html5/html5parser/after_head_phase.rb +50 -0
- data/lib/feed_tools/vendor/html5/lib/html5/html5parser/before_head_phase.rb +41 -0
- data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_body_phase.rb +613 -0
- data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_caption_phase.rb +69 -0
- data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_cell_phase.rb +78 -0
- data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_column_group_phase.rb +55 -0
- data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_frameset_phase.rb +57 -0
- data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_head_phase.rb +138 -0
- data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_row_phase.rb +89 -0
- data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_select_phase.rb +85 -0
- data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_table_body_phase.rb +86 -0
- data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_table_phase.rb +115 -0
- data/lib/feed_tools/vendor/html5/lib/html5/html5parser/initial_phase.rb +133 -0
- data/lib/feed_tools/vendor/html5/lib/html5/html5parser/phase.rb +154 -0
- data/lib/feed_tools/vendor/html5/lib/html5/html5parser/root_element_phase.rb +41 -0
- data/lib/feed_tools/vendor/html5/lib/html5/html5parser/trailing_end_phase.rb +35 -0
- data/lib/feed_tools/vendor/html5/lib/html5/inputstream.rb +648 -0
- data/lib/feed_tools/vendor/html5/lib/html5/liberalxmlparser.rb +158 -0
- data/lib/feed_tools/vendor/html5/lib/html5/sanitizer.rb +188 -0
- data/lib/feed_tools/vendor/html5/lib/html5/serializer.rb +2 -0
- data/lib/feed_tools/vendor/html5/lib/html5/serializer/htmlserializer.rb +179 -0
- data/lib/feed_tools/vendor/html5/lib/html5/serializer/xhtmlserializer.rb +20 -0
- data/lib/feed_tools/vendor/html5/lib/html5/sniffer.rb +45 -0
- data/lib/feed_tools/vendor/html5/lib/html5/tokenizer.rb +966 -0
- data/lib/feed_tools/vendor/html5/lib/html5/treebuilders.rb +24 -0
- data/lib/feed_tools/vendor/html5/lib/html5/treebuilders/base.rb +334 -0
- data/lib/feed_tools/vendor/html5/lib/html5/treebuilders/hpricot.rb +231 -0
- data/lib/feed_tools/vendor/html5/lib/html5/treebuilders/rexml.rb +209 -0
- data/lib/feed_tools/vendor/html5/lib/html5/treebuilders/simpletree.rb +185 -0
- data/lib/feed_tools/vendor/html5/lib/html5/treewalkers.rb +26 -0
- data/lib/feed_tools/vendor/html5/lib/html5/treewalkers/base.rb +162 -0
- data/lib/feed_tools/vendor/html5/lib/html5/treewalkers/hpricot.rb +48 -0
- data/lib/feed_tools/vendor/html5/lib/html5/treewalkers/rexml.rb +48 -0
- data/lib/feed_tools/vendor/html5/lib/html5/treewalkers/simpletree.rb +48 -0
- data/lib/feed_tools/vendor/html5/lib/html5/version.rb +3 -0
- data/lib/feed_tools/vendor/html5/testdata/encoding/chardet/test_big5.txt +51 -0
- data/lib/feed_tools/vendor/html5/testdata/encoding/test-yahoo-jp.dat +10 -0
- data/lib/feed_tools/vendor/html5/testdata/encoding/tests1.dat +394 -0
- data/lib/feed_tools/vendor/html5/testdata/encoding/tests2.dat +81 -0
- data/lib/feed_tools/vendor/html5/testdata/sanitizer/tests1.dat +416 -0
- data/lib/feed_tools/vendor/html5/testdata/serializer/core.test +104 -0
- data/lib/feed_tools/vendor/html5/testdata/serializer/injectmeta.test +65 -0
- data/lib/feed_tools/vendor/html5/testdata/serializer/optionaltags.test +900 -0
- data/lib/feed_tools/vendor/html5/testdata/serializer/options.test +60 -0
- data/lib/feed_tools/vendor/html5/testdata/serializer/whitespace.test +51 -0
- data/lib/feed_tools/vendor/html5/testdata/sites/google-results.htm +1 -0
- data/lib/feed_tools/vendor/html5/testdata/sites/python-ref-import.htm +1 -0
- data/lib/feed_tools/vendor/html5/testdata/sites/web-apps-old.htm +1 -0
- data/lib/feed_tools/vendor/html5/testdata/sites/web-apps.htm +34275 -0
- data/lib/feed_tools/vendor/html5/testdata/sniffer/htmlOrFeed.json +43 -0
- data/lib/feed_tools/vendor/html5/testdata/tokenizer/contentModelFlags.test +48 -0
- data/lib/feed_tools/vendor/html5/testdata/tokenizer/entities.test +2339 -0
- data/lib/feed_tools/vendor/html5/testdata/tokenizer/escapeFlag.test +21 -0
- data/lib/feed_tools/vendor/html5/testdata/tokenizer/test1.test +172 -0
- data/lib/feed_tools/vendor/html5/testdata/tokenizer/test2.test +129 -0
- data/lib/feed_tools/vendor/html5/testdata/tokenizer/test3.test +367 -0
- data/lib/feed_tools/vendor/html5/testdata/tokenizer/test4.test +198 -0
- data/lib/feed_tools/vendor/html5/testdata/tree-construction/tests1.dat +1950 -0
- data/lib/feed_tools/vendor/html5/testdata/tree-construction/tests2.dat +773 -0
- data/lib/feed_tools/vendor/html5/testdata/tree-construction/tests3.dat +270 -0
- data/lib/feed_tools/vendor/html5/testdata/tree-construction/tests4.dat +60 -0
- data/lib/feed_tools/vendor/html5/testdata/tree-construction/tests5.dat +175 -0
- data/lib/feed_tools/vendor/html5/testdata/tree-construction/tests6.dat +196 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/attributes.test +1035 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/base-href-attribute.test +787 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/base-target-attribute.test +35 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/blockquote-cite-attribute.test +7 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/classattribute.test +152 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/contenteditableattribute.test +59 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/contextmenuattribute.test +115 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/dirattribute.test +59 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/draggableattribute.test +63 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/html-xmlns-attribute.test +23 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/idattribute.test +115 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/inputattributes.test +2795 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/irrelevantattribute.test +63 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/langattribute.test +5579 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/li-value-attribute.test +7 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/link-href-attribute.test +7 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/link-hreflang-attribute.test +7 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/link-rel-attribute.test +271 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/ol-start-attribute.test +7 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/starttags.test +375 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/style-scoped-attribute.test +7 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/tabindexattribute.test +79 -0
- data/lib/feed_tools/vendor/html5/tests/preamble.rb +72 -0
- data/lib/feed_tools/vendor/html5/tests/test_encoding.rb +35 -0
- data/lib/feed_tools/vendor/html5/tests/test_lxp.rb +279 -0
- data/lib/feed_tools/vendor/html5/tests/test_parser.rb +68 -0
- data/lib/feed_tools/vendor/html5/tests/test_sanitizer.rb +142 -0
- data/lib/feed_tools/vendor/html5/tests/test_serializer.rb +68 -0
- data/lib/feed_tools/vendor/html5/tests/test_sniffer.rb +27 -0
- data/lib/feed_tools/vendor/html5/tests/test_stream.rb +62 -0
- data/lib/feed_tools/vendor/html5/tests/test_tokenizer.rb +94 -0
- data/lib/feed_tools/vendor/html5/tests/test_treewalkers.rb +135 -0
- data/lib/feed_tools/vendor/html5/tests/test_validator.rb +31 -0
- data/lib/feed_tools/vendor/html5/tests/tokenizer_test_parser.rb +63 -0
- data/lib/feed_tools/vendor/uri.rb +781 -0
- data/lib/feed_tools/version.rb +1 -1
- data/rakefile +27 -6
- data/test/unit/atom_test.rb +298 -210
- data/test/unit/helper_test.rb +7 -12
- data/test/unit/rdf_test.rb +51 -1
- data/test/unit/rss_test.rb +13 -3
- metadata +239 -116
- data/lib/feed_tools/vendor/htree.rb +0 -97
- data/lib/feed_tools/vendor/htree/container.rb +0 -10
- data/lib/feed_tools/vendor/htree/context.rb +0 -67
- data/lib/feed_tools/vendor/htree/display.rb +0 -27
- data/lib/feed_tools/vendor/htree/doc.rb +0 -149
- data/lib/feed_tools/vendor/htree/elem.rb +0 -262
- data/lib/feed_tools/vendor/htree/encoder.rb +0 -163
- data/lib/feed_tools/vendor/htree/equality.rb +0 -218
- data/lib/feed_tools/vendor/htree/extract_text.rb +0 -37
- data/lib/feed_tools/vendor/htree/fstr.rb +0 -33
- data/lib/feed_tools/vendor/htree/gencode.rb +0 -97
- data/lib/feed_tools/vendor/htree/htmlinfo.rb +0 -672
- data/lib/feed_tools/vendor/htree/inspect.rb +0 -108
- data/lib/feed_tools/vendor/htree/leaf.rb +0 -94
- data/lib/feed_tools/vendor/htree/loc.rb +0 -367
- data/lib/feed_tools/vendor/htree/modules.rb +0 -48
- data/lib/feed_tools/vendor/htree/name.rb +0 -124
- data/lib/feed_tools/vendor/htree/output.rb +0 -207
- data/lib/feed_tools/vendor/htree/parse.rb +0 -409
- data/lib/feed_tools/vendor/htree/raw_string.rb +0 -124
- data/lib/feed_tools/vendor/htree/regexp-util.rb +0 -15
- data/lib/feed_tools/vendor/htree/rexml.rb +0 -130
- data/lib/feed_tools/vendor/htree/scan.rb +0 -166
- data/lib/feed_tools/vendor/htree/tag.rb +0 -111
- data/lib/feed_tools/vendor/htree/template.rb +0 -909
- data/lib/feed_tools/vendor/htree/text.rb +0 -115
- data/lib/feed_tools/vendor/htree/traverse.rb +0 -465
data/test/unit/helper_test.rb
CHANGED
@@ -71,6 +71,7 @@ class HelperTest < Test::Unit::TestCase
|
|
71
71
|
end
|
72
72
|
|
73
73
|
def test_normalize_url
|
74
|
+
assert_equal("", FeedTools::UriHelper.normalize_url(""))
|
74
75
|
assert_equal("http://slashdot.org/",
|
75
76
|
FeedTools::UriHelper.normalize_url("slashdot.org"))
|
76
77
|
assert_equal("http://example.com/index.php",
|
@@ -101,15 +102,6 @@ class HelperTest < Test::Unit::TestCase
|
|
101
102
|
end
|
102
103
|
end
|
103
104
|
|
104
|
-
def test_sanitize_html
|
105
|
-
assert_equal("<!--foo-->", FeedTools::HtmlHelper.sanitize_html("<!--foo-->"))
|
106
|
-
assert_equal("<P>Upper-case tags</P>",
|
107
|
-
FeedTools::HtmlHelper.sanitize_html("<P>Upper-case tags</P>"))
|
108
|
-
assert_equal("<A HREF='/dev/null'>Upper-case attributes</A>",
|
109
|
-
FeedTools::HtmlHelper.sanitize_html(
|
110
|
-
"<A HREF='/dev/null'>Upper-case attributes</A>"))
|
111
|
-
end
|
112
|
-
|
113
105
|
def test_tidy_html
|
114
106
|
FeedTools.configurations[:tidy_enabled] = true
|
115
107
|
unless FeedTools::HtmlHelper.tidy_enabled?
|
@@ -169,9 +161,12 @@ class HelperTest < Test::Unit::TestCase
|
|
169
161
|
end
|
170
162
|
|
171
163
|
def test_build_merged_feed
|
172
|
-
|
173
|
-
|
174
|
-
|
164
|
+
if FeedTools::FEED_TOOLS_VERSION::MINOR == 2 &&
|
165
|
+
FeedTools::FEED_TOOLS_VERSION::TINY <= 26
|
166
|
+
merged_feed = FeedTools.build_merged_feed([
|
167
|
+
"http://rss.slashdot.org/Slashdot/slashdot"
|
168
|
+
])
|
169
|
+
end
|
175
170
|
end
|
176
171
|
|
177
172
|
def test_extract_xhtml
|
data/test/unit/rdf_test.rb
CHANGED
@@ -14,6 +14,56 @@ class RdfTest < Test::Unit::TestCase
|
|
14
14
|
File.expand_path(File.dirname(__FILE__)) + '/../feeds')
|
15
15
|
end
|
16
16
|
|
17
|
-
def
|
17
|
+
def test_embedded_atom_self_link
|
18
|
+
with_feed(:from_data => <<-FEED
|
19
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
20
|
+
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
21
|
+
xmlns="http://purl.org/rss/1.0/">
|
22
|
+
<channel rdf:about="http://example.com/">
|
23
|
+
<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom"
|
24
|
+
rel="self" type="application/rss+xml"
|
25
|
+
href="http://example.com/feed.rdf" />
|
26
|
+
</channel>
|
27
|
+
</rdf:RDF>
|
28
|
+
FEED
|
29
|
+
) { |feed|
|
30
|
+
assert_equal("http://example.com/", feed.link)
|
31
|
+
assert_equal("http://example.com/feed.rdf", feed.href)
|
32
|
+
assert_equal("http://example.com/feed.rdf", feed.base_uri)
|
33
|
+
}
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_relative_uri_resolution
|
37
|
+
with_feed(:from_data => <<-FEED
|
38
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
39
|
+
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
40
|
+
xmlns="http://purl.org/rss/1.0/">
|
41
|
+
<channel rdf:about="http://example.com/">
|
42
|
+
<items>
|
43
|
+
<rdf:Seq>
|
44
|
+
<rdf:li rdf:resource="http://example.com/entry/" />
|
45
|
+
</rdf:Seq>
|
46
|
+
</items>
|
47
|
+
<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom"
|
48
|
+
rel="self" type="application/rss+xml"
|
49
|
+
href="http://example.com/feed.rdf" />
|
50
|
+
</channel>
|
51
|
+
<item rdf:about="http://example.com/entry/">
|
52
|
+
<link>http://example.com/entry/</link>
|
53
|
+
<description>
|
54
|
+
A relative <a href="/relative/location/">uri</a>.
|
55
|
+
</description>
|
56
|
+
</item>
|
57
|
+
</rdf:RDF>
|
58
|
+
FEED
|
59
|
+
) { |feed|
|
60
|
+
assert_equal("http://example.com/", feed.link)
|
61
|
+
assert_equal("http://example.com/feed.rdf", feed.href)
|
62
|
+
assert_equal("http://example.com/feed.rdf", feed.base_uri)
|
63
|
+
assert_equal(1, feed.items.size)
|
64
|
+
assert_equal("http://example.com/entry/", feed.items[0].link)
|
65
|
+
assert_equal(1, feed.items[0].description.scan(
|
66
|
+
"http://example.com/relative/location/").size)
|
67
|
+
}
|
18
68
|
end
|
19
69
|
end
|
data/test/unit/rss_test.rb
CHANGED
@@ -39,11 +39,13 @@ class RssTest < Test::Unit::TestCase
|
|
39
39
|
with_feed(:from_file => 'wellformed/rss/channel_title_apos.xml') { |feed|
|
40
40
|
assert_equal("Mark's title", feed.title)
|
41
41
|
}
|
42
|
+
# The assumption is always that we are going to be displaying
|
43
|
+
# this as HTML output. Therefore the return value is escaped.
|
42
44
|
with_feed(:from_file => 'wellformed/rss/channel_title_gt.xml') { |feed|
|
43
|
-
assert_equal("2
|
45
|
+
assert_equal("2 > 1", feed.title)
|
44
46
|
}
|
45
47
|
with_feed(:from_file => 'wellformed/rss/channel_title_lt.xml') { |feed|
|
46
|
-
assert_equal("1
|
48
|
+
assert_equal("1 < 2", feed.title)
|
47
49
|
}
|
48
50
|
with_feed(:from_file => 'wellformed/rss/channel_dc_title.xml') { |feed|
|
49
51
|
assert_equal("Example title", feed.title)
|
@@ -222,6 +224,12 @@ class RssTest < Test::Unit::TestCase
|
|
222
224
|
with_feed(:from_file => 'wellformed/rss/channel_dc_rights.xml') { |feed|
|
223
225
|
assert_equal("Example copyright", feed.copyright)
|
224
226
|
}
|
227
|
+
|
228
|
+
# temp
|
229
|
+
with_feed(:from_file => 'wellformed/rss/channel_dc_rights.xml') { |feed|
|
230
|
+
assert_equal("Example copyright", feed.rights)
|
231
|
+
assert_equal(nil, feed.license)
|
232
|
+
}
|
225
233
|
end
|
226
234
|
|
227
235
|
def test_feed_cloud
|
@@ -305,7 +313,9 @@ class RssTest < Test::Unit::TestCase
|
|
305
313
|
assert_equal(nil, feed.entries.first.title)
|
306
314
|
}
|
307
315
|
with_feed(:from_file => 'wellformed/rss/item_description_not_a_doctype.xml') { |feed|
|
308
|
-
|
316
|
+
assert(feed.entries.first.description != nil)
|
317
|
+
assert_equal(1, feed.entries.first.description.scan(
|
318
|
+
'<!\' <a href=').size)
|
309
319
|
assert_equal(nil, feed.entries.first.title)
|
310
320
|
}
|
311
321
|
with_feed(:from_file => 'wellformed/rss/item_content_encoded.xml') { |feed|
|
metadata
CHANGED
@@ -1,48 +1,63 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.9.0
|
3
|
-
specification_version: 1
|
4
2
|
name: feedtools
|
5
3
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.2.
|
7
|
-
date: 2006-07-20 00:00:00 -04:00
|
8
|
-
summary: Parsing, generation, and caching system for xml news feeds.
|
9
|
-
require_paths:
|
10
|
-
- lib
|
11
|
-
email: bob@sporkmonger.com
|
12
|
-
homepage: http://sporkmonger.com/projects/feedtools
|
13
|
-
rubyforge_project: feedtools
|
14
|
-
description: Implements a simple system for handling xml news feeds with caching.
|
15
|
-
autorequire: feed_tools
|
16
|
-
default_executable:
|
17
|
-
bindir: bin
|
18
|
-
has_rdoc: true
|
19
|
-
required_ruby_version: !ruby/object:Gem::Version::Requirement
|
20
|
-
requirements:
|
21
|
-
- - ">"
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: 0.0.0
|
24
|
-
version:
|
4
|
+
version: 0.2.27
|
25
5
|
platform: ruby
|
26
|
-
signing_key:
|
27
|
-
cert_chain:
|
28
|
-
post_install_message:
|
29
6
|
authors:
|
30
7
|
- Bob Aman
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2008-01-31 00:00:00 -05:00
|
13
|
+
default_executable:
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: activerecord
|
17
|
+
version_requirement:
|
18
|
+
version_requirements: !ruby/object:Gem::Requirement
|
19
|
+
requirements:
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 1.10.1
|
23
|
+
version:
|
24
|
+
- !ruby/object:Gem::Dependency
|
25
|
+
name: uuidtools
|
26
|
+
version_requirement:
|
27
|
+
version_requirements: !ruby/object:Gem::Requirement
|
28
|
+
requirements:
|
29
|
+
- - ">="
|
30
|
+
- !ruby/object:Gem::Version
|
31
|
+
version: 1.0.0
|
32
|
+
version:
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: builder
|
35
|
+
version_requirement:
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 1.2.4
|
41
|
+
version:
|
42
|
+
description: Implements a simple system for handling xml news feeds with caching.
|
43
|
+
email: bob@sporkmonger.com
|
44
|
+
executables: []
|
45
|
+
|
46
|
+
extensions: []
|
47
|
+
|
48
|
+
extra_rdoc_files:
|
49
|
+
- README
|
31
50
|
files:
|
32
51
|
- rakefile
|
33
52
|
- install.rb
|
34
53
|
- README
|
35
54
|
- CHANGELOG
|
36
55
|
- lib/feed_tools
|
37
|
-
- lib/feed_tools.rb
|
38
56
|
- lib/feed_tools/database_feed_cache.rb
|
39
57
|
- lib/feed_tools/feed.rb
|
40
58
|
- lib/feed_tools/feed_item.rb
|
41
59
|
- lib/feed_tools/feed_structures.rb
|
42
60
|
- lib/feed_tools/helpers
|
43
|
-
- lib/feed_tools/monkey_patch.rb
|
44
|
-
- lib/feed_tools/vendor
|
45
|
-
- lib/feed_tools/version.rb
|
46
61
|
- lib/feed_tools/helpers/debug_helper.rb
|
47
62
|
- lib/feed_tools/helpers/feed_helper.rb
|
48
63
|
- lib/feed_tools/helpers/feed_item_helper.rb
|
@@ -52,50 +67,152 @@ files:
|
|
52
67
|
- lib/feed_tools/helpers/retrieval_helper.rb
|
53
68
|
- lib/feed_tools/helpers/uri_helper.rb
|
54
69
|
- lib/feed_tools/helpers/xml_helper.rb
|
55
|
-
- lib/feed_tools/
|
56
|
-
- lib/feed_tools/vendor
|
57
|
-
- lib/feed_tools/vendor/
|
58
|
-
- lib/feed_tools/vendor/
|
59
|
-
- lib/feed_tools/vendor/
|
60
|
-
- lib/feed_tools/vendor/
|
61
|
-
- lib/feed_tools/vendor/
|
62
|
-
- lib/feed_tools/vendor/
|
63
|
-
- lib/feed_tools/vendor/
|
64
|
-
- lib/feed_tools/vendor/
|
65
|
-
- lib/feed_tools/vendor/
|
66
|
-
- lib/feed_tools/vendor/
|
67
|
-
- lib/feed_tools/vendor/
|
68
|
-
- lib/feed_tools/vendor/
|
69
|
-
- lib/feed_tools/vendor/
|
70
|
-
- lib/feed_tools/vendor/
|
71
|
-
- lib/feed_tools/vendor/
|
72
|
-
- lib/feed_tools/vendor/
|
73
|
-
- lib/feed_tools/vendor/
|
74
|
-
- lib/feed_tools/vendor/
|
75
|
-
- lib/feed_tools/vendor/
|
76
|
-
- lib/feed_tools/vendor/
|
77
|
-
- lib/feed_tools/vendor/
|
78
|
-
- lib/feed_tools/vendor/
|
79
|
-
- lib/feed_tools/vendor/
|
80
|
-
- lib/feed_tools/vendor/
|
81
|
-
- lib/feed_tools/vendor/
|
82
|
-
- lib/feed_tools/vendor/
|
70
|
+
- lib/feed_tools/monkey_patch.rb
|
71
|
+
- lib/feed_tools/vendor
|
72
|
+
- lib/feed_tools/vendor/html5
|
73
|
+
- lib/feed_tools/vendor/html5/bin
|
74
|
+
- lib/feed_tools/vendor/html5/bin/html5
|
75
|
+
- lib/feed_tools/vendor/html5/History.txt
|
76
|
+
- lib/feed_tools/vendor/html5/lib
|
77
|
+
- lib/feed_tools/vendor/html5/lib/core_ext
|
78
|
+
- lib/feed_tools/vendor/html5/lib/core_ext/string.rb
|
79
|
+
- lib/feed_tools/vendor/html5/lib/html5
|
80
|
+
- lib/feed_tools/vendor/html5/lib/html5/constants.rb
|
81
|
+
- lib/feed_tools/vendor/html5/lib/html5/filters
|
82
|
+
- lib/feed_tools/vendor/html5/lib/html5/filters/base.rb
|
83
|
+
- lib/feed_tools/vendor/html5/lib/html5/filters/inject_meta_charset.rb
|
84
|
+
- lib/feed_tools/vendor/html5/lib/html5/filters/iso639codes.rb
|
85
|
+
- lib/feed_tools/vendor/html5/lib/html5/filters/optionaltags.rb
|
86
|
+
- lib/feed_tools/vendor/html5/lib/html5/filters/rfc2046.rb
|
87
|
+
- lib/feed_tools/vendor/html5/lib/html5/filters/rfc3987.rb
|
88
|
+
- lib/feed_tools/vendor/html5/lib/html5/filters/sanitizer.rb
|
89
|
+
- lib/feed_tools/vendor/html5/lib/html5/filters/validator.rb
|
90
|
+
- lib/feed_tools/vendor/html5/lib/html5/filters/whitespace.rb
|
91
|
+
- lib/feed_tools/vendor/html5/lib/html5/html5parser
|
92
|
+
- lib/feed_tools/vendor/html5/lib/html5/html5parser/after_body_phase.rb
|
93
|
+
- lib/feed_tools/vendor/html5/lib/html5/html5parser/after_frameset_phase.rb
|
94
|
+
- lib/feed_tools/vendor/html5/lib/html5/html5parser/after_head_phase.rb
|
95
|
+
- lib/feed_tools/vendor/html5/lib/html5/html5parser/before_head_phase.rb
|
96
|
+
- lib/feed_tools/vendor/html5/lib/html5/html5parser/in_body_phase.rb
|
97
|
+
- lib/feed_tools/vendor/html5/lib/html5/html5parser/in_caption_phase.rb
|
98
|
+
- lib/feed_tools/vendor/html5/lib/html5/html5parser/in_cell_phase.rb
|
99
|
+
- lib/feed_tools/vendor/html5/lib/html5/html5parser/in_column_group_phase.rb
|
100
|
+
- lib/feed_tools/vendor/html5/lib/html5/html5parser/in_frameset_phase.rb
|
101
|
+
- lib/feed_tools/vendor/html5/lib/html5/html5parser/in_head_phase.rb
|
102
|
+
- lib/feed_tools/vendor/html5/lib/html5/html5parser/in_row_phase.rb
|
103
|
+
- lib/feed_tools/vendor/html5/lib/html5/html5parser/in_select_phase.rb
|
104
|
+
- lib/feed_tools/vendor/html5/lib/html5/html5parser/in_table_body_phase.rb
|
105
|
+
- lib/feed_tools/vendor/html5/lib/html5/html5parser/in_table_phase.rb
|
106
|
+
- lib/feed_tools/vendor/html5/lib/html5/html5parser/initial_phase.rb
|
107
|
+
- lib/feed_tools/vendor/html5/lib/html5/html5parser/phase.rb
|
108
|
+
- lib/feed_tools/vendor/html5/lib/html5/html5parser/root_element_phase.rb
|
109
|
+
- lib/feed_tools/vendor/html5/lib/html5/html5parser/trailing_end_phase.rb
|
110
|
+
- lib/feed_tools/vendor/html5/lib/html5/html5parser.rb
|
111
|
+
- lib/feed_tools/vendor/html5/lib/html5/inputstream.rb
|
112
|
+
- lib/feed_tools/vendor/html5/lib/html5/liberalxmlparser.rb
|
113
|
+
- lib/feed_tools/vendor/html5/lib/html5/sanitizer.rb
|
114
|
+
- lib/feed_tools/vendor/html5/lib/html5/serializer
|
115
|
+
- lib/feed_tools/vendor/html5/lib/html5/serializer/htmlserializer.rb
|
116
|
+
- lib/feed_tools/vendor/html5/lib/html5/serializer/xhtmlserializer.rb
|
117
|
+
- lib/feed_tools/vendor/html5/lib/html5/serializer.rb
|
118
|
+
- lib/feed_tools/vendor/html5/lib/html5/sniffer.rb
|
119
|
+
- lib/feed_tools/vendor/html5/lib/html5/tokenizer.rb
|
120
|
+
- lib/feed_tools/vendor/html5/lib/html5/treebuilders
|
121
|
+
- lib/feed_tools/vendor/html5/lib/html5/treebuilders/base.rb
|
122
|
+
- lib/feed_tools/vendor/html5/lib/html5/treebuilders/hpricot.rb
|
123
|
+
- lib/feed_tools/vendor/html5/lib/html5/treebuilders/rexml.rb
|
124
|
+
- lib/feed_tools/vendor/html5/lib/html5/treebuilders/simpletree.rb
|
125
|
+
- lib/feed_tools/vendor/html5/lib/html5/treebuilders.rb
|
126
|
+
- lib/feed_tools/vendor/html5/lib/html5/treewalkers
|
127
|
+
- lib/feed_tools/vendor/html5/lib/html5/treewalkers/base.rb
|
128
|
+
- lib/feed_tools/vendor/html5/lib/html5/treewalkers/hpricot.rb
|
129
|
+
- lib/feed_tools/vendor/html5/lib/html5/treewalkers/rexml.rb
|
130
|
+
- lib/feed_tools/vendor/html5/lib/html5/treewalkers/simpletree.rb
|
131
|
+
- lib/feed_tools/vendor/html5/lib/html5/treewalkers.rb
|
132
|
+
- lib/feed_tools/vendor/html5/lib/html5/version.rb
|
133
|
+
- lib/feed_tools/vendor/html5/lib/html5.rb
|
134
|
+
- lib/feed_tools/vendor/html5/Manifest.txt
|
135
|
+
- lib/feed_tools/vendor/html5/Rakefile.rb
|
136
|
+
- lib/feed_tools/vendor/html5/README
|
137
|
+
- lib/feed_tools/vendor/html5/testdata
|
138
|
+
- lib/feed_tools/vendor/html5/testdata/encoding
|
139
|
+
- lib/feed_tools/vendor/html5/testdata/encoding/chardet
|
140
|
+
- lib/feed_tools/vendor/html5/testdata/encoding/chardet/test_big5.txt
|
141
|
+
- lib/feed_tools/vendor/html5/testdata/encoding/test-yahoo-jp.dat
|
142
|
+
- lib/feed_tools/vendor/html5/testdata/encoding/tests1.dat
|
143
|
+
- lib/feed_tools/vendor/html5/testdata/encoding/tests2.dat
|
144
|
+
- lib/feed_tools/vendor/html5/testdata/sanitizer
|
145
|
+
- lib/feed_tools/vendor/html5/testdata/sanitizer/tests1.dat
|
146
|
+
- lib/feed_tools/vendor/html5/testdata/serializer
|
147
|
+
- lib/feed_tools/vendor/html5/testdata/serializer/core.test
|
148
|
+
- lib/feed_tools/vendor/html5/testdata/serializer/injectmeta.test
|
149
|
+
- lib/feed_tools/vendor/html5/testdata/serializer/optionaltags.test
|
150
|
+
- lib/feed_tools/vendor/html5/testdata/serializer/options.test
|
151
|
+
- lib/feed_tools/vendor/html5/testdata/serializer/whitespace.test
|
152
|
+
- lib/feed_tools/vendor/html5/testdata/sites
|
153
|
+
- lib/feed_tools/vendor/html5/testdata/sites/google-results.htm
|
154
|
+
- lib/feed_tools/vendor/html5/testdata/sites/python-ref-import.htm
|
155
|
+
- lib/feed_tools/vendor/html5/testdata/sites/web-apps-old.htm
|
156
|
+
- lib/feed_tools/vendor/html5/testdata/sites/web-apps.htm
|
157
|
+
- lib/feed_tools/vendor/html5/testdata/sniffer
|
158
|
+
- lib/feed_tools/vendor/html5/testdata/sniffer/htmlOrFeed.json
|
159
|
+
- lib/feed_tools/vendor/html5/testdata/tokenizer
|
160
|
+
- lib/feed_tools/vendor/html5/testdata/tokenizer/contentModelFlags.test
|
161
|
+
- lib/feed_tools/vendor/html5/testdata/tokenizer/entities.test
|
162
|
+
- lib/feed_tools/vendor/html5/testdata/tokenizer/escapeFlag.test
|
163
|
+
- lib/feed_tools/vendor/html5/testdata/tokenizer/test1.test
|
164
|
+
- lib/feed_tools/vendor/html5/testdata/tokenizer/test2.test
|
165
|
+
- lib/feed_tools/vendor/html5/testdata/tokenizer/test3.test
|
166
|
+
- lib/feed_tools/vendor/html5/testdata/tokenizer/test4.test
|
167
|
+
- lib/feed_tools/vendor/html5/testdata/tree-construction
|
168
|
+
- lib/feed_tools/vendor/html5/testdata/tree-construction/tests1.dat
|
169
|
+
- lib/feed_tools/vendor/html5/testdata/tree-construction/tests2.dat
|
170
|
+
- lib/feed_tools/vendor/html5/testdata/tree-construction/tests3.dat
|
171
|
+
- lib/feed_tools/vendor/html5/testdata/tree-construction/tests4.dat
|
172
|
+
- lib/feed_tools/vendor/html5/testdata/tree-construction/tests5.dat
|
173
|
+
- lib/feed_tools/vendor/html5/testdata/tree-construction/tests6.dat
|
174
|
+
- lib/feed_tools/vendor/html5/testdata/validator
|
175
|
+
- lib/feed_tools/vendor/html5/testdata/validator/attributes.test
|
176
|
+
- lib/feed_tools/vendor/html5/testdata/validator/base-href-attribute.test
|
177
|
+
- lib/feed_tools/vendor/html5/testdata/validator/base-target-attribute.test
|
178
|
+
- lib/feed_tools/vendor/html5/testdata/validator/blockquote-cite-attribute.test
|
179
|
+
- lib/feed_tools/vendor/html5/testdata/validator/classattribute.test
|
180
|
+
- lib/feed_tools/vendor/html5/testdata/validator/contenteditableattribute.test
|
181
|
+
- lib/feed_tools/vendor/html5/testdata/validator/contextmenuattribute.test
|
182
|
+
- lib/feed_tools/vendor/html5/testdata/validator/dirattribute.test
|
183
|
+
- lib/feed_tools/vendor/html5/testdata/validator/draggableattribute.test
|
184
|
+
- lib/feed_tools/vendor/html5/testdata/validator/html-xmlns-attribute.test
|
185
|
+
- lib/feed_tools/vendor/html5/testdata/validator/idattribute.test
|
186
|
+
- lib/feed_tools/vendor/html5/testdata/validator/inputattributes.test
|
187
|
+
- lib/feed_tools/vendor/html5/testdata/validator/irrelevantattribute.test
|
188
|
+
- lib/feed_tools/vendor/html5/testdata/validator/langattribute.test
|
189
|
+
- lib/feed_tools/vendor/html5/testdata/validator/li-value-attribute.test
|
190
|
+
- lib/feed_tools/vendor/html5/testdata/validator/link-href-attribute.test
|
191
|
+
- lib/feed_tools/vendor/html5/testdata/validator/link-hreflang-attribute.test
|
192
|
+
- lib/feed_tools/vendor/html5/testdata/validator/link-rel-attribute.test
|
193
|
+
- lib/feed_tools/vendor/html5/testdata/validator/ol-start-attribute.test
|
194
|
+
- lib/feed_tools/vendor/html5/testdata/validator/starttags.test
|
195
|
+
- lib/feed_tools/vendor/html5/testdata/validator/style-scoped-attribute.test
|
196
|
+
- lib/feed_tools/vendor/html5/testdata/validator/tabindexattribute.test
|
197
|
+
- lib/feed_tools/vendor/html5/tests
|
198
|
+
- lib/feed_tools/vendor/html5/tests/preamble.rb
|
199
|
+
- lib/feed_tools/vendor/html5/tests/test_encoding.rb
|
200
|
+
- lib/feed_tools/vendor/html5/tests/test_lxp.rb
|
201
|
+
- lib/feed_tools/vendor/html5/tests/test_parser.rb
|
202
|
+
- lib/feed_tools/vendor/html5/tests/test_sanitizer.rb
|
203
|
+
- lib/feed_tools/vendor/html5/tests/test_serializer.rb
|
204
|
+
- lib/feed_tools/vendor/html5/tests/test_sniffer.rb
|
205
|
+
- lib/feed_tools/vendor/html5/tests/test_stream.rb
|
206
|
+
- lib/feed_tools/vendor/html5/tests/test_tokenizer.rb
|
207
|
+
- lib/feed_tools/vendor/html5/tests/test_treewalkers.rb
|
208
|
+
- lib/feed_tools/vendor/html5/tests/test_validator.rb
|
209
|
+
- lib/feed_tools/vendor/html5/tests/tokenizer_test_parser.rb
|
210
|
+
- lib/feed_tools/vendor/uri.rb
|
211
|
+
- lib/feed_tools/version.rb
|
212
|
+
- lib/feed_tools.rb
|
83
213
|
- test/feeds
|
84
|
-
- test/unit
|
85
214
|
- test/feeds/illformed
|
86
|
-
- test/feeds/wellformed
|
87
215
|
- test/feeds/illformed/amp
|
88
|
-
- test/feeds/illformed/atom
|
89
|
-
- test/feeds/illformed/base
|
90
|
-
- test/feeds/illformed/cdf
|
91
|
-
- test/feeds/illformed/date
|
92
|
-
- test/feeds/illformed/encoding
|
93
|
-
- test/feeds/illformed/entities
|
94
|
-
- test/feeds/illformed/lang
|
95
|
-
- test/feeds/illformed/namespace
|
96
|
-
- test/feeds/illformed/rdf
|
97
|
-
- test/feeds/illformed/rss
|
98
|
-
- test/feeds/illformed/sanitize
|
99
216
|
- test/feeds/illformed/amp/amp01.xml
|
100
217
|
- test/feeds/illformed/amp/amp02.xml
|
101
218
|
- test/feeds/illformed/amp/amp03.xml
|
@@ -160,6 +277,7 @@ files:
|
|
160
277
|
- test/feeds/illformed/amp/amp62.xml
|
161
278
|
- test/feeds/illformed/amp/amp63.xml
|
162
279
|
- test/feeds/illformed/amp/amp64.xml
|
280
|
+
- test/feeds/illformed/atom
|
163
281
|
- test/feeds/illformed/atom/atom_namespace_1.xml
|
164
282
|
- test/feeds/illformed/atom/atom_namespace_2.xml
|
165
283
|
- test/feeds/illformed/atom/atom_namespace_3.xml
|
@@ -300,6 +418,7 @@ files:
|
|
300
418
|
- test/feeds/illformed/atom/relative_uri.xml
|
301
419
|
- test/feeds/illformed/atom/relative_uri_inherit.xml
|
302
420
|
- test/feeds/illformed/atom/relative_uri_inherit_2.xml
|
421
|
+
- test/feeds/illformed/base
|
303
422
|
- test/feeds/illformed/base/cdf_item_abstract_xml_base.xml
|
304
423
|
- test/feeds/illformed/base/entry_content_xml_base.xml
|
305
424
|
- test/feeds/illformed/base/entry_content_xml_base_inherit.xml
|
@@ -418,6 +537,7 @@ files:
|
|
418
537
|
- test/feeds/illformed/base/http_item_wfw_commentRSS_base_docuri.xml
|
419
538
|
- test/feeds/illformed/base/http_item_xhtml_body_base_content_location.xml
|
420
539
|
- test/feeds/illformed/base/http_item_xhtml_body_base_docuri.xml
|
540
|
+
- test/feeds/illformed/cdf
|
421
541
|
- test/feeds/illformed/cdf/channel_abstract_map_description.xml
|
422
542
|
- test/feeds/illformed/cdf/channel_abstract_map_tagline.xml
|
423
543
|
- test/feeds/illformed/cdf/channel_href_map_link.xml
|
@@ -428,6 +548,7 @@ files:
|
|
428
548
|
- test/feeds/illformed/cdf/item_href_map_link.xml
|
429
549
|
- test/feeds/illformed/cdf/item_href_map_links.xml
|
430
550
|
- test/feeds/illformed/cdf/item_title.xml
|
551
|
+
- test/feeds/illformed/date
|
431
552
|
- test/feeds/illformed/date/cdf_channel_lastmod_map_date.xml
|
432
553
|
- test/feeds/illformed/date/cdf_channel_lastmod_map_modified.xml
|
433
554
|
- test/feeds/illformed/date/cdf_channel_lastmod_map_modified_parsed.xml
|
@@ -530,6 +651,7 @@ files:
|
|
530
651
|
- test/feeds/illformed/date/item_pubDate_euc-kr.xml
|
531
652
|
- test/feeds/illformed/date/item_pubDate_map_modified.xml
|
532
653
|
- test/feeds/illformed/date/item_pubDate_rfc2822.xml
|
654
|
+
- test/feeds/illformed/encoding
|
533
655
|
- test/feeds/illformed/encoding/bogus_encoding.xml
|
534
656
|
- test/feeds/illformed/encoding/encoding_mismatch_crash.xml
|
535
657
|
- test/feeds/illformed/encoding/http_i18n.xml
|
@@ -679,6 +801,7 @@ files:
|
|
679
801
|
- test/feeds/illformed/encoding/x80_windows_1256.xml
|
680
802
|
- test/feeds/illformed/encoding/x80_windows_1257.xml
|
681
803
|
- test/feeds/illformed/encoding/x80_windows_1258.xml
|
804
|
+
- test/feeds/illformed/entities
|
682
805
|
- test/feeds/illformed/entities/160.xml
|
683
806
|
- test/feeds/illformed/entities/732.xml
|
684
807
|
- test/feeds/illformed/entities/8216.xml
|
@@ -930,6 +1053,7 @@ files:
|
|
930
1053
|
- test/feeds/illformed/entities/zeta.xml
|
931
1054
|
- test/feeds/illformed/entities/zwj.xml
|
932
1055
|
- test/feeds/illformed/entities/zwnj.xml
|
1056
|
+
- test/feeds/illformed/lang
|
933
1057
|
- test/feeds/illformed/lang/channel_dc_language.xml
|
934
1058
|
- test/feeds/illformed/lang/channel_language.xml
|
935
1059
|
- test/feeds/illformed/lang/entry_content_xml_lang.xml
|
@@ -993,6 +1117,7 @@ files:
|
|
993
1117
|
- test/feeds/illformed/lang/item_fullitem_xml_lang_inherit.xml
|
994
1118
|
- test/feeds/illformed/lang/item_xhtml_body_xml_lang.xml
|
995
1119
|
- test/feeds/illformed/lang/item_xhtml_body_xml_lang_inherit.xml
|
1120
|
+
- test/feeds/illformed/namespace
|
996
1121
|
- test/feeds/illformed/namespace/rss1.0withModules.xml
|
997
1122
|
- test/feeds/illformed/namespace/rss1.0withModulesNoDefNS.xml
|
998
1123
|
- test/feeds/illformed/namespace/rss1.0withModulesNoDefNSLocalNameClash.xml
|
@@ -1001,6 +1126,7 @@ files:
|
|
1001
1126
|
- test/feeds/illformed/namespace/rss2.0NSwithModules.xml
|
1002
1127
|
- test/feeds/illformed/namespace/rss2.0NSwithModulesNoDefNS.xml
|
1003
1128
|
- test/feeds/illformed/namespace/rss2.0NSwithModulesNoDefNSLocalNameClash.xml
|
1129
|
+
- test/feeds/illformed/rdf
|
1004
1130
|
- test/feeds/illformed/rdf/rdf_channel_description.xml
|
1005
1131
|
- test/feeds/illformed/rdf/rdf_channel_empty_textinput.xml
|
1006
1132
|
- test/feeds/illformed/rdf/rdf_channel_link.xml
|
@@ -1013,6 +1139,7 @@ files:
|
|
1013
1139
|
- test/feeds/illformed/rdf/rss090_item_title.xml
|
1014
1140
|
- test/feeds/illformed/rdf/rss_version_10.xml
|
1015
1141
|
- test/feeds/illformed/rdf/rss_version_10_not_default_ns.xml
|
1142
|
+
- test/feeds/illformed/rss
|
1016
1143
|
- test/feeds/illformed/rss/aaa_illformed.xml
|
1017
1144
|
- test/feeds/illformed/rss/channel_author.xml
|
1018
1145
|
- test/feeds/illformed/rss/channel_author_map_author_detail_email.xml
|
@@ -1147,6 +1274,7 @@ files:
|
|
1147
1274
|
- test/feeds/illformed/rss/rss_version_201.xml
|
1148
1275
|
- test/feeds/illformed/rss/rss_version_21.xml
|
1149
1276
|
- test/feeds/illformed/rss/rss_version_missing.xml
|
1277
|
+
- test/feeds/illformed/sanitize
|
1150
1278
|
- test/feeds/illformed/sanitize/entry_content_applet.xml
|
1151
1279
|
- test/feeds/illformed/sanitize/entry_content_blink.xml
|
1152
1280
|
- test/feeds/illformed/sanitize/entry_content_crazy.xml
|
@@ -1564,18 +1692,8 @@ files:
|
|
1564
1692
|
- test/feeds/illformed/sanitize/item_xhtml_body_script.xml
|
1565
1693
|
- test/feeds/illformed/sanitize/item_xhtml_body_script_map_content.xml
|
1566
1694
|
- test/feeds/illformed/sanitize/item_xhtml_body_style.xml
|
1695
|
+
- test/feeds/wellformed
|
1567
1696
|
- test/feeds/wellformed/amp
|
1568
|
-
- test/feeds/wellformed/atom
|
1569
|
-
- test/feeds/wellformed/base
|
1570
|
-
- test/feeds/wellformed/cdf
|
1571
|
-
- test/feeds/wellformed/date
|
1572
|
-
- test/feeds/wellformed/encoding
|
1573
|
-
- test/feeds/wellformed/http
|
1574
|
-
- test/feeds/wellformed/lang
|
1575
|
-
- test/feeds/wellformed/namespace
|
1576
|
-
- test/feeds/wellformed/rdf
|
1577
|
-
- test/feeds/wellformed/rss
|
1578
|
-
- test/feeds/wellformed/sanitize
|
1579
1697
|
- test/feeds/wellformed/amp/amp01.xml
|
1580
1698
|
- test/feeds/wellformed/amp/amp02.xml
|
1581
1699
|
- test/feeds/wellformed/amp/amp03.xml
|
@@ -1640,6 +1758,7 @@ files:
|
|
1640
1758
|
- test/feeds/wellformed/amp/amp62.xml
|
1641
1759
|
- test/feeds/wellformed/amp/amp63.xml
|
1642
1760
|
- test/feeds/wellformed/amp/amp64.xml
|
1761
|
+
- test/feeds/wellformed/atom
|
1643
1762
|
- test/feeds/wellformed/atom/atom_namespace_1.xml
|
1644
1763
|
- test/feeds/wellformed/atom/atom_namespace_2.xml
|
1645
1764
|
- test/feeds/wellformed/atom/atom_namespace_3.xml
|
@@ -1780,6 +1899,7 @@ files:
|
|
1780
1899
|
- test/feeds/wellformed/atom/relative_uri.xml
|
1781
1900
|
- test/feeds/wellformed/atom/relative_uri_inherit.xml
|
1782
1901
|
- test/feeds/wellformed/atom/relative_uri_inherit_2.xml
|
1902
|
+
- test/feeds/wellformed/base
|
1783
1903
|
- test/feeds/wellformed/base/cdf_item_abstract_xml_base.xml
|
1784
1904
|
- test/feeds/wellformed/base/entry_content_xml_base.xml
|
1785
1905
|
- test/feeds/wellformed/base/entry_content_xml_base_inherit.xml
|
@@ -1898,6 +2018,7 @@ files:
|
|
1898
2018
|
- test/feeds/wellformed/base/http_item_wfw_commentRSS_base_docuri.xml
|
1899
2019
|
- test/feeds/wellformed/base/http_item_xhtml_body_base_content_location.xml
|
1900
2020
|
- test/feeds/wellformed/base/http_item_xhtml_body_base_docuri.xml
|
2021
|
+
- test/feeds/wellformed/cdf
|
1901
2022
|
- test/feeds/wellformed/cdf/channel_abstract_map_description.xml
|
1902
2023
|
- test/feeds/wellformed/cdf/channel_abstract_map_tagline.xml
|
1903
2024
|
- test/feeds/wellformed/cdf/channel_href_map_link.xml
|
@@ -1908,6 +2029,7 @@ files:
|
|
1908
2029
|
- test/feeds/wellformed/cdf/item_href_map_link.xml
|
1909
2030
|
- test/feeds/wellformed/cdf/item_href_map_links.xml
|
1910
2031
|
- test/feeds/wellformed/cdf/item_title.xml
|
2032
|
+
- test/feeds/wellformed/date
|
1911
2033
|
- test/feeds/wellformed/date/cdf_channel_lastmod_map_date.xml
|
1912
2034
|
- test/feeds/wellformed/date/cdf_channel_lastmod_map_modified.xml
|
1913
2035
|
- test/feeds/wellformed/date/cdf_channel_lastmod_map_modified_parsed.xml
|
@@ -2010,6 +2132,7 @@ files:
|
|
2010
2132
|
- test/feeds/wellformed/date/item_pubDate_euc-kr.xml
|
2011
2133
|
- test/feeds/wellformed/date/item_pubDate_map_modified.xml
|
2012
2134
|
- test/feeds/wellformed/date/item_pubDate_rfc2822.xml
|
2135
|
+
- test/feeds/wellformed/encoding
|
2013
2136
|
- test/feeds/wellformed/encoding/big5.xml
|
2014
2137
|
- test/feeds/wellformed/encoding/csucs4.xml
|
2015
2138
|
- test/feeds/wellformed/encoding/csunicode.xml
|
@@ -2213,7 +2336,9 @@ files:
|
|
2213
2336
|
- test/feeds/wellformed/encoding/x80_windows_1256.xml
|
2214
2337
|
- test/feeds/wellformed/encoding/x80_windows_1257.xml
|
2215
2338
|
- test/feeds/wellformed/encoding/x80_windows_1258.xml
|
2339
|
+
- test/feeds/wellformed/http
|
2216
2340
|
- test/feeds/wellformed/http/headers_foo.xml
|
2341
|
+
- test/feeds/wellformed/lang
|
2217
2342
|
- test/feeds/wellformed/lang/channel_dc_language.xml
|
2218
2343
|
- test/feeds/wellformed/lang/channel_language.xml
|
2219
2344
|
- test/feeds/wellformed/lang/entry_content_xml_lang.xml
|
@@ -2277,6 +2402,7 @@ files:
|
|
2277
2402
|
- test/feeds/wellformed/lang/item_fullitem_xml_lang_inherit.xml
|
2278
2403
|
- test/feeds/wellformed/lang/item_xhtml_body_xml_lang.xml
|
2279
2404
|
- test/feeds/wellformed/lang/item_xhtml_body_xml_lang_inherit.xml
|
2405
|
+
- test/feeds/wellformed/namespace
|
2280
2406
|
- test/feeds/wellformed/namespace/rss1.0withModules.xml
|
2281
2407
|
- test/feeds/wellformed/namespace/rss1.0withModulesNoDefNS.xml
|
2282
2408
|
- test/feeds/wellformed/namespace/rss1.0withModulesNoDefNSLocalNameClash.xml
|
@@ -2285,6 +2411,7 @@ files:
|
|
2285
2411
|
- test/feeds/wellformed/namespace/rss2.0NSwithModules.xml
|
2286
2412
|
- test/feeds/wellformed/namespace/rss2.0NSwithModulesNoDefNS.xml
|
2287
2413
|
- test/feeds/wellformed/namespace/rss2.0NSwithModulesNoDefNSLocalNameClash.xml
|
2414
|
+
- test/feeds/wellformed/rdf
|
2288
2415
|
- test/feeds/wellformed/rdf/doctype_contains_entity_decl.xml
|
2289
2416
|
- test/feeds/wellformed/rdf/rdf_channel_description.xml
|
2290
2417
|
- test/feeds/wellformed/rdf/rdf_channel_link.xml
|
@@ -2297,6 +2424,7 @@ files:
|
|
2297
2424
|
- test/feeds/wellformed/rdf/rss090_item_title.xml
|
2298
2425
|
- test/feeds/wellformed/rdf/rss_version_10.xml
|
2299
2426
|
- test/feeds/wellformed/rdf/rss_version_10_not_default_ns.xml
|
2427
|
+
- test/feeds/wellformed/rss
|
2300
2428
|
- test/feeds/wellformed/rss/aaa_wellformed.xml
|
2301
2429
|
- test/feeds/wellformed/rss/channel_author.xml
|
2302
2430
|
- test/feeds/wellformed/rss/channel_author_map_author_detail_email.xml
|
@@ -2432,6 +2560,7 @@ files:
|
|
2432
2560
|
- test/feeds/wellformed/rss/rss_version_201.xml
|
2433
2561
|
- test/feeds/wellformed/rss/rss_version_21.xml
|
2434
2562
|
- test/feeds/wellformed/rss/rss_version_missing.xml
|
2563
|
+
- test/feeds/wellformed/sanitize
|
2435
2564
|
- test/feeds/wellformed/sanitize/entry_content_applet.xml
|
2436
2565
|
- test/feeds/wellformed/sanitize/entry_content_blink.xml
|
2437
2566
|
- test/feeds/wellformed/sanitize/entry_content_crazy.xml
|
@@ -2849,6 +2978,7 @@ files:
|
|
2849
2978
|
- test/feeds/wellformed/sanitize/item_xhtml_body_script.xml
|
2850
2979
|
- test/feeds/wellformed/sanitize/item_xhtml_body_script_map_content.xml
|
2851
2980
|
- test/feeds/wellformed/sanitize/item_xhtml_body_style.xml
|
2981
|
+
- test/unit
|
2852
2982
|
- test/unit/amp_test.rb
|
2853
2983
|
- test/unit/atom_test.rb
|
2854
2984
|
- test/unit/cache_test.rb
|
@@ -2865,44 +2995,37 @@ files:
|
|
2865
2995
|
- db/schema.mysql.sql
|
2866
2996
|
- db/schema.postgresql.sql
|
2867
2997
|
- db/schema.sqlite.sql
|
2868
|
-
|
2869
|
-
|
2998
|
+
has_rdoc: true
|
2999
|
+
homepage: http://sporkmonger.com/projects/feedtools
|
3000
|
+
post_install_message: |+
|
3001
|
+
|
3002
|
+
FeedTool's caching schema has changed to allow Feed objects to be
|
3003
|
+
serialized to the cache. This should offer some limited speed up
|
3004
|
+
in some cases.
|
3005
|
+
|
2870
3006
|
rdoc_options:
|
2871
3007
|
- --main
|
2872
3008
|
- README
|
2873
|
-
|
2874
|
-
-
|
2875
|
-
|
2876
|
-
|
2877
|
-
|
2878
|
-
|
3009
|
+
require_paths:
|
3010
|
+
- lib
|
3011
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
3012
|
+
requirements:
|
3013
|
+
- - ">="
|
3014
|
+
- !ruby/object:Gem::Version
|
3015
|
+
version: "0"
|
3016
|
+
version:
|
3017
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
3018
|
+
requirements:
|
3019
|
+
- - ">="
|
3020
|
+
- !ruby/object:Gem::Version
|
3021
|
+
version: "0"
|
3022
|
+
version:
|
2879
3023
|
requirements: []
|
2880
3024
|
|
2881
|
-
|
2882
|
-
|
2883
|
-
|
2884
|
-
|
2885
|
-
|
2886
|
-
|
2887
|
-
|
2888
|
-
- !ruby/object:Gem::Version
|
2889
|
-
version: 1.10.1
|
2890
|
-
version:
|
2891
|
-
- !ruby/object:Gem::Dependency
|
2892
|
-
name: uuidtools
|
2893
|
-
version_requirement:
|
2894
|
-
version_requirements: !ruby/object:Gem::Version::Requirement
|
2895
|
-
requirements:
|
2896
|
-
- - ">="
|
2897
|
-
- !ruby/object:Gem::Version
|
2898
|
-
version: 1.0.0
|
2899
|
-
version:
|
2900
|
-
- !ruby/object:Gem::Dependency
|
2901
|
-
name: builder
|
2902
|
-
version_requirement:
|
2903
|
-
version_requirements: !ruby/object:Gem::Version::Requirement
|
2904
|
-
requirements:
|
2905
|
-
- - ">="
|
2906
|
-
- !ruby/object:Gem::Version
|
2907
|
-
version: 1.2.4
|
2908
|
-
version:
|
3025
|
+
rubyforge_project: feedtools
|
3026
|
+
rubygems_version: 1.0.1
|
3027
|
+
signing_key:
|
3028
|
+
specification_version: 2
|
3029
|
+
summary: Parsing, generation, and caching system for xml news feeds.
|
3030
|
+
test_files: []
|
3031
|
+
|