docparser 0.1.3 → 0.1.4
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.
- 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
|