factbook-readers 1.0.1 → 1.1.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.
Files changed (43) hide show
  1. checksums.yaml +5 -5
  2. data/Manifest.txt +3 -25
  3. data/README.md +11 -69
  4. data/Rakefile +3 -3
  5. data/lib/factbook-readers.rb +5 -40
  6. data/lib/factbook-readers/convert.rb +37 -0
  7. data/lib/factbook-readers/counter.rb +7 -9
  8. data/lib/factbook-readers/page.rb +41 -61
  9. data/lib/factbook-readers/page_info.rb +15 -3
  10. data/lib/factbook-readers/version.rb +2 -2
  11. data/test/helper.rb +3 -0
  12. data/test/test_counter.rb +9 -6
  13. data/test/test_download.rb +27 -0
  14. data/test/test_fields.rb +44 -27
  15. data/test/test_json.rb +4 -4
  16. data/test/test_page.rb +8 -8
  17. data/test/test_version.rb +15 -0
  18. metadata +11 -48
  19. data/data/categories.csv +0 -164
  20. data/data/codes.csv +0 -262
  21. data/data/codesxref.csv +0 -280
  22. data/data/comparisons.csv +0 -75
  23. data/lib/factbook-readers/builder.rb +0 -187
  24. data/lib/factbook-readers/builder_item.rb +0 -201
  25. data/lib/factbook-readers/builder_json.rb +0 -68
  26. data/lib/factbook-readers/codes.rb +0 -121
  27. data/lib/factbook-readers/comparisons.rb +0 -49
  28. data/lib/factbook-readers/normalize.rb +0 -42
  29. data/lib/factbook-readers/reader_json.rb +0 -50
  30. data/lib/factbook-readers/sanitizer.rb +0 -351
  31. data/lib/factbook-readers/sect.rb +0 -28
  32. data/lib/factbook-readers/subsect.rb +0 -17
  33. data/lib/factbook-readers/table.rb +0 -51
  34. data/lib/factbook-readers/utils.rb +0 -47
  35. data/lib/factbook-readers/utils_info.rb +0 -128
  36. data/test/test_builder.rb +0 -30
  37. data/test/test_codes.rb +0 -72
  38. data/test/test_comparisons.rb +0 -16
  39. data/test/test_item_builder.rb +0 -97
  40. data/test/test_json_builder.rb +0 -23
  41. data/test/test_normalize.rb +0 -21
  42. data/test/test_sanitizer.rb +0 -36
  43. data/test/test_sanitizer_regex.rb +0 -87
@@ -1,23 +0,0 @@
1
- ###
2
- # to run use
3
- # ruby -I ./lib -I ./test test/test_json_builder.rb
4
-
5
-
6
- require 'helper'
7
-
8
-
9
- class TestJsonBuilder < MiniTest::Test
10
-
11
- def test_read
12
- code = 'au'
13
- b = Factbook::JsonBuilder.from_file( "#{Factbook.root}/test/data/json/#{code}.json" )
14
-
15
- assert_equal 10, b.sects.size
16
- assert_equal 1, b.sects[0].subsects.size ## e.g. Introduction/Background
17
- assert_equal 'Central Europe, north of Italy and Slovenia', b.json['Geography']['Location']['text']
18
-
19
- assert true ## assume everthing ok
20
- end
21
-
22
- end # class TestJsonBuilder
23
-
@@ -1,21 +0,0 @@
1
- ###
2
- # to run use
3
- # ruby -I ./lib -I ./test test/test_normalize.rb
4
-
5
-
6
- require 'helper'
7
-
8
-
9
- class TestNormalizer < MiniTest::Test
10
-
11
- include Factbook::NormalizeHelper
12
-
13
- def test_normalize
14
- assert_equal 'border countries', normalize_category( 'border countries:' )
15
- assert_equal 'border countries', normalize_category( 'border countries: ' )
16
- assert_equal 'border countries', normalize_category( 'border countries (8):' )
17
- assert_equal 'border countries', normalize_category( 'border countries (10): ' )
18
- end
19
-
20
- end # class TestNormalizer
21
-
@@ -1,36 +0,0 @@
1
- ###
2
- # to run use
3
- # ruby -I ./lib -I ./test test/test_sanitizer.rb
4
-
5
-
6
- require 'helper'
7
-
8
-
9
- class TestSanitizer < MiniTest::Test
10
-
11
- def test_sanitize
12
-
13
- ## austria (au)
14
- ## algeria (ag)
15
- ## belgium (be)
16
- ## ['au'].each do |cnty|
17
- ['au','ag','be'].each do |cnty|
18
-
19
- html_original = File.read( "#{Factbook.root}/test/data/src/#{cnty}.html", 'r:utf-8' ) { |f| r.read }
20
-
21
- html, info, errors = Factbook::Sanitizer.new.sanitize( html_original )
22
-
23
- File.open( "./tmp/#{cnty}.profile.html", 'w' ) do |f|
24
- f.write "** info:\n"
25
- f.write info.inspect + "\n\n"
26
- f.write "** errors:\n"
27
- f.write errors.inspect + "\n\n"
28
- f.write "** html:\n"
29
- f.write html
30
- end
31
- end
32
-
33
- assert true ## assume everthing ok
34
- end
35
-
36
- end # class TestSanitizer
@@ -1,87 +0,0 @@
1
- ###
2
- # to run use
3
- # ruby -I ./lib -I ./test test/test_sanitizer_regex.rb
4
-
5
-
6
- require 'helper'
7
-
8
-
9
- class TestSanitizerRegex < MiniTest::Test
10
-
11
- def test_area_map
12
-
13
- html =<<HTML
14
- <div class='disTable areaComp'>
15
- <span class='category tCell' style='margin-bottom:0px; vertical-align:bottom;'>Area comparison map:</span>
16
- <span class="tCell"><a data-toggle="modal" href="#areaCompModal"><img src="../graphics/areacomparison_icon.jpg" border="0" style="cursor:pointer; border: 0px solid #CCC;"></a></span></div>
17
-
18
- <div class="modal fade" id="areaCompModal" role="dialog">
19
- <div class="wfb-modal-dialog">
20
- <div class="modal-content" >
21
- <div class="wfb-modal-header" style="border-radius: 4px; font-family: Verdana,Arial,sans-serif; font-size: 14px !important; font-weight: bold; padding: 0.4em 16px 0.4em 1em; background: #cccccc url("..images/ui-bg_highlight-soft_75_cccccc_1x100.png") repeat-x scroll 50% 50%;" >
22
- <span style="font-size: 14px !important; margin: 0.1em 16px 0.1em 0;" class="modal-title wfb-title">The World Factbook</span><span style="float: right; margin-top: -4px;">
23
- <button type="button" class="close" title="close" data-dismiss="modal">&times;</button></span>
24
- </div>
25
- <div class="wfb-modal-body">
26
- ...
27
- <div id='field'
28
- HTML
29
-
30
- m = Factbook::Sanitizer::AREA_COMP_CATEGORY_REGEX.match( html )
31
- pp m
32
-
33
- assert m.nil? == false
34
- end
35
-
36
-
37
- def test_pop_pyramid
38
-
39
- html =<<HTML
40
- <div class='disTable popPyramid'>
41
- <span class='category tCell' style='margin-bottom:0px; vertical-align:bottom;'>population pyramid:</span>
42
- <span class="tCell"><a data-toggle="modal" href="#popPyramidModal"><img title="" src="../graphics/poppyramid_icon.jpg" style="cursor:pointer; border: 0px solid #CCC;"></span></a></div>
43
-
44
- <div class="modal fade" id="popPyramidModal" role="dialog">
45
- <div class="wfb-modal-dialog">
46
- <div class="modal-content" >
47
- <div class="wfb-modal-header" style="border-radius: 4px; font-family: Verdana,Arial,sans-serif; font-size: 14px !important; font-weight: bold; padding: 0.4em 16px 0.4em 1em; background: #cccccc url("..images/ui-bg_highlight-soft_75_cccccc_1x100.png") repeat-x scroll 50% 50%;" >
48
- <span style="font-size: 14px !important; margin: 0.1em 16px 0.1em 0;" class="modal-title wfb-title">The World Factbook</span><span style="float: right; margin-top: -4px;">
49
- <button type="button" class="close" title="close" data-dismiss="modal">&times;</button></span>
50
- </div>
51
- <div class="wfb-modal-body">
52
- ...
53
- <div id='field'
54
- HTML
55
-
56
- m = Factbook::Sanitizer::POP_PYRAMID_CATEGORY_REGEX.match( html )
57
- pp m
58
-
59
- assert m.nil? == false
60
- end # method test_pop_pyramid
61
-
62
-
63
- def test_rel_affiliation
64
-
65
- html =<<HTML
66
- <div class='disTable relAffiliation'><span class='category tCell' style='margin-bottom:0px; vertical-align:bottom;'>religious affiliation:</span>
67
- <span class="tCell"><a data-toggle="modal" href="#relAffiliationModal"><img title="" src="../graphics/middle-east-religion-icon.jpg" style="cursor:pointer; border: 0px solid #CCC;"></span></a></div>
68
-
69
- <div class="modal fade" id="relAffiliationModal" role="dialog">
70
- <div class="wfb-modal-dialog">
71
- <div class="modal-content" >
72
- <div class="wfb-modal-header" style="border-radius: 4px; font-family: Verdana,Arial,sans-serif; font-size: 14px !important; font-weight: bold; padding: 0.4em 16px 0.4em 1em; background: #cccccc url("..images/ui-bg_highlight-soft_75_cccccc_1x100.png") repeat-x scroll 50% 50%;" >
73
- <span style="font-size: 14px !important; margin: 0.1em 16px 0.1em 0;" class="modal-title wfb-title">The World Factbook</span><span style="float: right; margin-top: -4px;">
74
- <button type="button" class="close" title="close" data-dismiss="modal">&times;</button></span>
75
- </div>
76
- <div class="wfb-modal-body">
77
- ...
78
- <div id='field'
79
- HTML
80
-
81
- m = Factbook::Sanitizer::REL_AFFILIATION_CATEGORY_REGEX.match( html )
82
- pp m
83
-
84
- assert m.nil? == false
85
- end # method test_rel_affiliation
86
-
87
- end # class TestSanitizerRegex