factbook 1.1.1 → 2.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/{HISTORY.md → CHANGELOG.md} +3 -3
- data/Manifest.txt +1 -58
- data/README.md +50 -575
- data/Rakefile +29 -33
- data/lib/factbook.rb +8 -75
- metadata +20 -114
- data/data/attributes.yml +0 -337
- data/data/categories.csv +0 -164
- data/data/codes.csv +0 -262
- data/data/codesxref.csv +0 -280
- data/data/comparisons.csv +0 -75
- data/lib/factbook/almanac.rb +0 -72
- data/lib/factbook/attributes.rb +0 -74
- data/lib/factbook/builder.rb +0 -214
- data/lib/factbook/builder_item.rb +0 -92
- data/lib/factbook/builder_json.rb +0 -79
- data/lib/factbook/codes.rb +0 -119
- data/lib/factbook/comparisons.rb +0 -50
- data/lib/factbook/counter.rb +0 -48
- data/lib/factbook/db/importer.rb +0 -92
- data/lib/factbook/db/models.rb +0 -11
- data/lib/factbook/db/schema.rb +0 -36
- data/lib/factbook/normalize.rb +0 -43
- data/lib/factbook/page.rb +0 -185
- data/lib/factbook/page_info.rb +0 -12
- data/lib/factbook/reader_json.rb +0 -51
- data/lib/factbook/sanitizer.rb +0 -207
- data/lib/factbook/sect.rb +0 -29
- data/lib/factbook/subsect.rb +0 -18
- data/lib/factbook/table.rb +0 -52
- data/lib/factbook/utils.rb +0 -85
- data/lib/factbook/utils_info.rb +0 -102
- data/lib/factbook/version.rb +0 -22
- data/script/almanac.rb +0 -48
- data/script/attributes.rb +0 -34
- data/script/build.rb +0 -28
- data/script/counter.rb +0 -145
- data/script/json.rb +0 -18
- data/script/testbr.rb +0 -33
- data/script/testcodes.rb +0 -11
- data/test/data/au.html +0 -579
- data/test/data/au.yml +0 -8
- data/test/data/be.html +0 -596
- data/test/data/be.yml +0 -8
- data/test/data/json/au.json +0 -892
- data/test/data/src/au.html +0 -2006
- data/test/data/src/be.html +0 -2011
- data/test/helper.rb +0 -11
- data/test/test_attribs.rb +0 -82
- data/test/test_attribs_def.rb +0 -20
- data/test/test_builder.rb +0 -35
- data/test/test_codes.rb +0 -76
- data/test/test_comparisons.rb +0 -19
- data/test/test_convert.rb +0 -30
- data/test/test_counter.rb +0 -31
- data/test/test_fields.rb +0 -52
- data/test/test_importer.rb +0 -55
- data/test/test_item_builder.rb +0 -99
- data/test/test_json.rb +0 -44
- data/test/test_json_builder.rb +0 -25
- data/test/test_normalize.rb +0 -23
- data/test/test_page.rb +0 -38
- data/test/test_sanitizer.rb +0 -35
data/test/test_json.rb
DELETED
@@ -1,44 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
###
|
4
|
-
# to run use
|
5
|
-
# ruby -I ./lib -I ./test test/test_json.rb
|
6
|
-
|
7
|
-
|
8
|
-
require 'helper'
|
9
|
-
|
10
|
-
|
11
|
-
class TestJson < MiniTest::Test
|
12
|
-
|
13
|
-
|
14
|
-
def test_json
|
15
|
-
Dir.mkdir( 'tmp' ) unless Dir.exists?( 'tmp' )
|
16
|
-
|
17
|
-
codes = [ 'au',
|
18
|
-
'be',
|
19
|
-
#'br',
|
20
|
-
#'mx',
|
21
|
-
#'ls',
|
22
|
-
#'vt',
|
23
|
-
#'ee',
|
24
|
-
#'xx'
|
25
|
-
]
|
26
|
-
|
27
|
-
codes.each do |code|
|
28
|
-
|
29
|
-
html = File.read( "#{Factbook.root}/test/data/src/#{code}.html" )
|
30
|
-
page = Factbook::Page.new( code, html: html )
|
31
|
-
|
32
|
-
h = page.data
|
33
|
-
pp h
|
34
|
-
|
35
|
-
### save to json
|
36
|
-
puts "saving a copy to #{code}.json for debugging"
|
37
|
-
File.open( "tmp/#{code}.json", 'w' ) do |f|
|
38
|
-
f.write JSON.pretty_generate( h )
|
39
|
-
## f.write page.to_json
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
end # class TestJson
|
data/test/test_json_builder.rb
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
###
|
4
|
-
# to run use
|
5
|
-
# ruby -I ./lib -I ./test test/test_json_builder.rb
|
6
|
-
|
7
|
-
|
8
|
-
require 'helper'
|
9
|
-
|
10
|
-
|
11
|
-
class TestJsonBuilder < MiniTest::Test
|
12
|
-
|
13
|
-
def test_read
|
14
|
-
code = 'au'
|
15
|
-
b = Factbook::JsonBuilder.from_file( "#{Factbook.root}/test/data/json/#{code}.json" )
|
16
|
-
|
17
|
-
assert_equal 10, b.sects.size
|
18
|
-
assert_equal 1, b.sects[0].subsects.size ## e.g. Introduction/Background
|
19
|
-
assert_equal 'Central Europe, north of Italy and Slovenia', b.json['Geography']['Location']['text']
|
20
|
-
|
21
|
-
assert true ## assume everthing ok
|
22
|
-
end
|
23
|
-
|
24
|
-
end # class TestJsonBuilder
|
25
|
-
|
data/test/test_normalize.rb
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
###
|
4
|
-
# to run use
|
5
|
-
# ruby -I ./lib -I ./test test/test_normalize.rb
|
6
|
-
|
7
|
-
|
8
|
-
require 'helper'
|
9
|
-
|
10
|
-
|
11
|
-
class TestNormalizer < MiniTest::Test
|
12
|
-
|
13
|
-
include Factbook::NormalizeHelper
|
14
|
-
|
15
|
-
def test_normalize
|
16
|
-
assert_equal 'border countries', normalize_category( 'border countries:' )
|
17
|
-
assert_equal 'border countries', normalize_category( 'border countries: ' )
|
18
|
-
assert_equal 'border countries', normalize_category( 'border countries (8):' )
|
19
|
-
assert_equal 'border countries', normalize_category( 'border countries (10): ' )
|
20
|
-
end
|
21
|
-
|
22
|
-
end # class TestNormalizer
|
23
|
-
|
data/test/test_page.rb
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
###
|
4
|
-
# to run use
|
5
|
-
# ruby -I ./lib -I ./test test/test_page.rb
|
6
|
-
|
7
|
-
|
8
|
-
require 'helper'
|
9
|
-
|
10
|
-
|
11
|
-
class TestPage < MiniTest::Test
|
12
|
-
|
13
|
-
|
14
|
-
def test_sects
|
15
|
-
pages = [
|
16
|
-
[ 'au', 10 ],
|
17
|
-
[ 'be', 10 ],
|
18
|
-
# [ 'br', 10 ],
|
19
|
-
# [ 'ee', 10 ],
|
20
|
-
# [ 'mx', 10 ],
|
21
|
-
# [ 'xx', 10 ],
|
22
|
-
# [ 'ls', 9 ],
|
23
|
-
# [ 'vt', 8 ],
|
24
|
-
]
|
25
|
-
|
26
|
-
pages.each do |rec|
|
27
|
-
code = rec[0]
|
28
|
-
sects_size = rec[1]
|
29
|
-
|
30
|
-
html = File.read( "#{Factbook.root}/test/data/src/#{code}.html" )
|
31
|
-
page = Factbook::Page.new( code, html: html )
|
32
|
-
|
33
|
-
assert_equal sects_size, page.sects.size
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
|
38
|
-
end # class TestPage
|
data/test/test_sanitizer.rb
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
###
|
4
|
-
# to run use
|
5
|
-
# ruby -I ./lib -I ./test test/test_sanitizer.rb
|
6
|
-
|
7
|
-
|
8
|
-
require 'helper'
|
9
|
-
|
10
|
-
|
11
|
-
class TestSanitizer < MiniTest::Test
|
12
|
-
|
13
|
-
def test_sanitize
|
14
|
-
|
15
|
-
['au','be'].each do |cc|
|
16
|
-
## use/fix: ASCII-8BIT (e.g.keep as is) -???
|
17
|
-
html_ascii = File.read( "#{Factbook.root}/test/data/src/#{cc}.html" ) ## fix/todo: use ASCII8BIT/binary reader ??
|
18
|
-
|
19
|
-
html, info, errors = Factbook::Sanitizer.new.sanitize( html_ascii )
|
20
|
-
|
21
|
-
File.open( "./tmp/#{cc}.profile.html", 'w' ) do |f|
|
22
|
-
f.write "** info:\n"
|
23
|
-
f.write info.inspect + "\n\n"
|
24
|
-
f.write "** errors:\n"
|
25
|
-
f.write errors.inspect + "\n\n"
|
26
|
-
f.write "** html:\n"
|
27
|
-
f.write html
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
assert true ## assume everthing ok
|
32
|
-
end
|
33
|
-
|
34
|
-
end # class TestSanitizer
|
35
|
-
|