docparser 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +6 -1
- data/Gemfile +2 -1
- data/docparser.gemspec +2 -2
- data/lib/docparser/output.rb +2 -2
- data/lib/docparser/output/html_output.rb +18 -19
- data/lib/docparser/parser.rb +6 -1
- data/lib/docparser/version.rb +3 -1
- data/test/lib/docparser/document_test.rb +6 -6
- data/test/lib/docparser/output/json_output_test.rb +1 -1
- data/test/lib/docparser/output/multi_output_test.rb +1 -1
- data/test/lib/docparser/output/screen_output_test.rb +7 -7
- data/test/lib/docparser/output/yaml_output_test.rb +1 -1
- data/test/lib/docparser/parser_test.rb +2 -2
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: eceabf457acfee3b6887569cb724f1330604627d
|
4
|
+
data.tar.gz: a28bd9009eca5025d7d1ce243f0637e671740d73
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a8aed4d463232f18441eab3aec91d29618c8df9ba97d842f048e7931ed064b1e7eaa99d50c26f22ee04944d605fef1667f18e16bd19e4f012ad7068afc1a3ab6
|
7
|
+
data.tar.gz: fff5bce5bb1b8b5dc6f0804746a11e882b2dfe24ee517a67dc5775b7249101d36f751711e321d956e3ccc3cd0ba5be3637577fc1e7d341f7fddda316d77114e1
|
data/.rubocop.yml
CHANGED
data/Gemfile
CHANGED
@@ -4,9 +4,10 @@ gemspec
|
|
4
4
|
source 'https://rubygems.org'
|
5
5
|
|
6
6
|
group :test do
|
7
|
+
gem 'minitest', '~> 5.0'
|
7
8
|
gem 'coveralls', require: false
|
8
9
|
gem 'rake'
|
9
|
-
gem 'rubocop',
|
10
|
+
gem 'rubocop', '~> 0.9.0' #, github: 'bbatsov/rubocop', ref: '2dd9b' #, '~> 0.8.2'
|
10
11
|
gem 'simplecov', require: false
|
11
12
|
gem 'simple_mock'
|
12
13
|
end
|
data/docparser.gemspec
CHANGED
@@ -19,8 +19,8 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.require_paths = ['lib']
|
20
20
|
spec.extra_rdoc_files = ['README.md', 'LICENSE']
|
21
21
|
|
22
|
-
spec.add_runtime_dependency 'nokogiri', '~> 1.
|
23
|
-
spec.add_runtime_dependency 'parallel', '~> 0.
|
22
|
+
spec.add_runtime_dependency 'nokogiri', '~> 1.6.0'
|
23
|
+
spec.add_runtime_dependency 'parallel', '~> 0.7.1'
|
24
24
|
spec.add_runtime_dependency 'axlsx', '~> 1.3.6'
|
25
25
|
spec.add_runtime_dependency 'terminal-table', '~> 1.4.5'
|
26
26
|
spec.add_runtime_dependency 'pageme', '~> 0.0.3'
|
data/lib/docparser/output.rb
CHANGED
@@ -32,9 +32,9 @@ module DocParser
|
|
32
32
|
def close
|
33
33
|
footer
|
34
34
|
@file.close unless @file.closed?
|
35
|
-
@logger.info
|
35
|
+
@logger.info 'Finished writing'
|
36
36
|
size = File.size(@filename) / 1024.0
|
37
|
-
@logger.info sprintf(
|
37
|
+
@logger.info sprintf('%s: %d rows, %.2f KiB', @filename, rowcount, size)
|
38
38
|
end
|
39
39
|
|
40
40
|
# Called after the file is opened
|
@@ -5,39 +5,38 @@ module DocParser
|
|
5
5
|
class HTMLOutput < Output
|
6
6
|
# @!visibility private
|
7
7
|
HTMLHEADER = <<-EOS
|
8
|
-
<!DOCTYPE html
|
9
|
-
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
8
|
+
<!DOCTYPE html>
|
10
9
|
<html>
|
11
10
|
<head>
|
12
|
-
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
13
11
|
<title>HTML output "#FILENAME#"</title>
|
12
|
+
<meta charset="utf-8">
|
14
13
|
<style type="text/css">
|
15
14
|
body {
|
16
|
-
font-family:"Helvetica Neue", Helvetica,
|
15
|
+
font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;
|
17
16
|
font-size:12px;
|
18
17
|
}
|
19
18
|
table {
|
20
|
-
border:1px solid #69c;
|
21
|
-
border-collapse:collapse;
|
22
|
-
font-size:12px;
|
23
|
-
text-align:left;
|
24
|
-
width:480px;
|
19
|
+
border:1px solid #69c;
|
20
|
+
border-collapse:collapse;
|
21
|
+
font-size:12px;
|
22
|
+
text-align:left;
|
23
|
+
width:480px;
|
25
24
|
}
|
26
25
|
th {
|
27
|
-
border-bottom:1px dashed #69c;
|
28
|
-
color:#039;
|
29
|
-
font-size:14px;
|
30
|
-
font-weight:normal;
|
31
|
-
padding:12px 17px;
|
26
|
+
border-bottom:1px dashed #69c;
|
27
|
+
color:#039;
|
28
|
+
font-size:14px;
|
29
|
+
font-weight:normal;
|
30
|
+
padding:12px 17px;
|
32
31
|
}
|
33
32
|
td {
|
34
|
-
color:#669;
|
35
|
-
padding:7px 17px;
|
36
|
-
white-space: pre;
|
33
|
+
color:#669;
|
34
|
+
padding:7px 17px;
|
35
|
+
white-space: pre;
|
37
36
|
}
|
38
37
|
tbody tr:hover td {
|
39
|
-
background:#d0dafd;
|
40
|
-
color:#339;
|
38
|
+
background:#d0dafd;
|
39
|
+
color:#339;
|
41
40
|
}
|
42
41
|
tbody tr:nth-child(even) {
|
43
42
|
background:#e0eaff;
|
data/lib/docparser/parser.rb
CHANGED
@@ -97,7 +97,12 @@ module DocParser
|
|
97
97
|
|
98
98
|
def parallel_process(&block)
|
99
99
|
@logger.info "Starting #{@num_processes} processes"
|
100
|
-
|
100
|
+
if defined?(RUBY_ENGINE) && RUBY_ENGINE != 'ruby'
|
101
|
+
options = { in_threads: @num_processes }
|
102
|
+
else
|
103
|
+
options = { in_processes: @num_processes }
|
104
|
+
end
|
105
|
+
Parallel.map(@files, options) do |file|
|
101
106
|
# :nocov: #
|
102
107
|
parse_doc(file, &block)
|
103
108
|
# :nocov: #
|
data/lib/docparser/version.rb
CHANGED
@@ -4,8 +4,8 @@ describe DocParser::Document do
|
|
4
4
|
Log4r::Logger['docparser'].level = Log4r::INFO
|
5
5
|
$output = DocParser::NilOutput.new
|
6
6
|
@parser = Class.new do
|
7
|
-
|
8
|
-
|
7
|
+
define_method(:outputs) { [$output] }
|
8
|
+
end.new
|
9
9
|
@test_doc_path = File.join($SUPPORT_DIR, 'test_html.html')
|
10
10
|
@test_doc = DocParser::Document.new(filename: @test_doc_path,
|
11
11
|
parser: @parser)
|
@@ -115,8 +115,8 @@ describe DocParser::Document do
|
|
115
115
|
|
116
116
|
it 'should be possible to not use outputs' do
|
117
117
|
parser = Class.new do
|
118
|
-
|
119
|
-
|
118
|
+
define_method(:outputs) { [] }
|
119
|
+
end.new
|
120
120
|
test_doc = DocParser::Document.new(filename: @test_doc_path,
|
121
121
|
parser: parser)
|
122
122
|
test_doc.html.must_include('Test HTML')
|
@@ -131,8 +131,8 @@ describe DocParser::Document do
|
|
131
131
|
output = DocParser::NilOutput.new
|
132
132
|
output2 = DocParser::NilOutput.new
|
133
133
|
parser = Class.new do
|
134
|
-
|
135
|
-
|
134
|
+
define_method(:outputs) { [output, output2] }
|
135
|
+
end.new
|
136
136
|
test_doc = DocParser::Document.new(filename: @test_doc_path,
|
137
137
|
parser: parser)
|
138
138
|
test_doc.add_row ['a'], output: 1
|
@@ -30,7 +30,7 @@ describe DocParser::JSONOutput do
|
|
30
30
|
Dir.mktmpdir do |dir|
|
31
31
|
filename = File.join(dir, 'test.json')
|
32
32
|
output = DocParser::JSONOutput.new(filename: filename)
|
33
|
-
|
33
|
+
lambda do
|
34
34
|
output.add_row %w(aap noot mies)
|
35
35
|
end.must_raise(DocParser::MissingHeaderException)
|
36
36
|
end
|
@@ -35,7 +35,7 @@ describe DocParser::MultiOutput do
|
|
35
35
|
Dir.mktmpdir do |dir|
|
36
36
|
filename = File.join(dir, 'test')
|
37
37
|
output = DocParser::MultiOutput.new(filename: filename)
|
38
|
-
|
38
|
+
lambda do
|
39
39
|
output.add_row %w(aap noot mies)
|
40
40
|
end.must_raise(DocParser::MissingHeaderException)
|
41
41
|
end
|
@@ -27,7 +27,7 @@ describe DocParser::ScreenOutput do
|
|
27
27
|
|
28
28
|
it 'must have a header' do
|
29
29
|
output = DocParser::ScreenOutput.new
|
30
|
-
|
30
|
+
lambda do
|
31
31
|
output.add_row %w(aap noot mies)
|
32
32
|
end.must_raise(DocParser::MissingHeaderException)
|
33
33
|
end
|
@@ -35,12 +35,12 @@ describe DocParser::ScreenOutput do
|
|
35
35
|
it 'must output the data after close' do
|
36
36
|
$out = StringIO.new
|
37
37
|
output = Class.new DocParser::ScreenOutput do
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
38
|
+
def page(*args, &p)
|
39
|
+
args << p
|
40
|
+
args.compact!
|
41
|
+
page_to $out, args
|
42
|
+
end
|
43
|
+
end.new
|
44
44
|
output.header = 'test', 'the', 'header'
|
45
45
|
output.add_row ['aap1' , '', 'mies']
|
46
46
|
output.add_row %w(aap2 mies1)
|
@@ -30,7 +30,7 @@ describe DocParser::YAMLOutput do
|
|
30
30
|
Dir.mktmpdir do |dir|
|
31
31
|
filename = File.join(dir, 'test.yml')
|
32
32
|
output = DocParser::YAMLOutput.new(filename: filename)
|
33
|
-
|
33
|
+
lambda do
|
34
34
|
output.add_row %w(aap noot mies)
|
35
35
|
end.must_raise(DocParser::MissingHeaderException)
|
36
36
|
end
|
@@ -30,7 +30,7 @@ describe DocParser::Parser do
|
|
30
30
|
logger.level.must_equal Log4r::ERROR
|
31
31
|
parser = DocParser::Parser.new(quiet: false)
|
32
32
|
logger.level.must_equal Log4r::INFO
|
33
|
-
parser = DocParser::Parser.new
|
33
|
+
parser = DocParser::Parser.new
|
34
34
|
logger.level.must_equal Log4r::INFO
|
35
35
|
logger.outputters.push old_output
|
36
36
|
end
|
@@ -76,7 +76,7 @@ describe DocParser::Parser do
|
|
76
76
|
end
|
77
77
|
|
78
78
|
it 'should give an Exception if output is not supported' do
|
79
|
-
|
79
|
+
lambda do
|
80
80
|
DocParser::Parser.new(quiet: true, output: 1)
|
81
81
|
end.must_raise(ArgumentError)
|
82
82
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: docparser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jurriaan Pruis
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-07-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.
|
19
|
+
version: 1.6.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 1.
|
26
|
+
version: 1.6.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: parallel
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
33
|
+
version: 0.7.1
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ~>
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.
|
40
|
+
version: 0.7.1
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: axlsx
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|