opener-tree-tagger 3.0.3 → 3.2.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.
- checksums.yaml +13 -5
- data/README.md +1 -1
- data/ext/hack/support.rb +27 -0
- data/lib/opener/tree_tagger.rb +18 -10
- data/lib/opener/tree_tagger/version.rb +1 -1
- data/opener-tree-tagger.gemspec +0 -1
- metadata +62 -76
- data/lib/opener/tree_tagger/error_layer.rb +0 -89
checksums.yaml
CHANGED
@@ -1,7 +1,15 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
YTc4NTA2YmQzYzVlZTZlMjhmNzk0NmFmZjI0NzBmZTU1MzU4YzNkMQ==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
MDc0OTUzZTI3YjVmYjZlMjA1YzNjYTI2NjY0ZGJkMDVjY2YwOTdmZg==
|
5
7
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
NGNhNzhmOThhZWQ5N2FmNGU3YzQ1MzBlYTM4YTU0MDNjZGY0YTQ0NzZmMzZi
|
10
|
+
ZDdkN2I0NDFjODRjZjM3MTVmMTc4NGJmZTJiOTJhODIzMDI3MTFiODRhYTll
|
11
|
+
OTA5ZGE5M2NjMTBiMjc1NTkwNmIwOGIxMmE1MzU3YTRiMmU5NDE=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
Mjc2M2NkMWZjNTg2ODZkYzA5MjljNmFlMjk4ZTVkMDkxMzFiMjhmNjE1M2Rk
|
14
|
+
ZGFhODVmYWVhZjY1ZDc4ZmU0YWY0NDAzMGQ0NTNjZDMwOTdhYzQ4MGNkNTQ4
|
15
|
+
MTgwOTNlYjQ4ZDY3NWNjZTAxN2Y3MzEwNDEzNWU1OWMzZDFjZGM=
|
data/README.md
CHANGED
@@ -101,7 +101,7 @@ The component is a fat wrapper around the actual language technology core. You c
|
|
101
101
|
Where to go from here
|
102
102
|
---------------------
|
103
103
|
|
104
|
-
* [Check the project
|
104
|
+
* [Check the project websitere](http://opener-project.github.io)
|
105
105
|
* [Checkout the webservice](http://opener.olery.com/tree-tagger)
|
106
106
|
|
107
107
|
Report problem/Get help
|
data/ext/hack/support.rb
CHANGED
@@ -27,6 +27,15 @@ PRE_INSTALL_REQUIREMENTS = File.expand_path(
|
|
27
27
|
__FILE__
|
28
28
|
)
|
29
29
|
|
30
|
+
# Path to the vendor directory for C code.
|
31
|
+
VENDOR_DIRECTORY = File.expand_path('../../../core/vendor', __FILE__)
|
32
|
+
|
33
|
+
# Path to the directory to install vendored C code into.
|
34
|
+
VENDOR_BUILD_DIRECTORY = File.expand_path(
|
35
|
+
'../../../core/vendor/build',
|
36
|
+
__FILE__
|
37
|
+
)
|
38
|
+
|
30
39
|
##
|
31
40
|
# Verifies the requirements to install thi Gem.
|
32
41
|
#
|
@@ -36,3 +45,21 @@ def verify_requirements
|
|
36
45
|
require_executable('pip')
|
37
46
|
require_version('pip', pip_version, '1.3.1')
|
38
47
|
end
|
48
|
+
|
49
|
+
def install_tree_tagger
|
50
|
+
#return if ENV['TREE_TAGGER_PATH']
|
51
|
+
|
52
|
+
build = VENDOR_BUILD_DIRECTORY
|
53
|
+
cd build do
|
54
|
+
sh "curl -o tree-tagger-linux-3.2.tar.gz http://www.cis.uni-muenchen.de/~schmid/tools/TreeTagger/data/tree-tagger-linux-3.2.tar.gz"
|
55
|
+
sh "curl -o tagger-scripts.tar.gz http://www.cis.uni-muenchen.de/~schmid/tools/TreeTagger/data/tagger-scripts.tar.gz"
|
56
|
+
sh "curl -o install-tagger.sh http://www.cis.uni-muenchen.de/~schmid/tools/TreeTagger/data/install-tagger.sh"
|
57
|
+
sh "curl -o dutch-par-linux-3.2-utf8.bin.gz http://www.cis.uni-muenchen.de/~schmid/tools/TreeTagger/data/dutch-par-linux-3.2-utf8.bin.gz"
|
58
|
+
sh "curl -o french-par-linux-3.2-utf8.bin.gz http://www.cis.uni-muenchen.de/~schmid/tools/TreeTagger/data/french-par-linux-3.2-utf8.bin.gz"
|
59
|
+
sh "curl -o german-par-linux-3.2-utf8.bin.gz http://www.cis.uni-muenchen.de/~schmid/tools/TreeTagger/data/german-par-linux-3.2-utf8.bin.gz"
|
60
|
+
sh "curl -o italian-par-linux-3.2-utf8.bin.gz http://www.cis.uni-muenchen.de/~schmid/tools/TreeTagger/data/italian-par-linux-3.2-utf8.bin.gz"
|
61
|
+
sh "curl -o spanish-par-linux-3.2-utf8.bin.gz http://www.cis.uni-muenchen.de/~schmid/tools/TreeTagger/data/spanish-par-linux-3.2-utf8.bin.gz"
|
62
|
+
sh "curl -o english-par-linux-3.2.bin.gz http://www.cis.uni-muenchen.de/~schmid/tools/TreeTagger/data/english-par-linux-3.2.bin.gz"
|
63
|
+
sh "sh install-tagger.sh"
|
64
|
+
end
|
65
|
+
end
|
data/lib/opener/tree_tagger.rb
CHANGED
@@ -1,10 +1,8 @@
|
|
1
1
|
require 'open3'
|
2
2
|
require 'optparse'
|
3
|
-
require 'nokogiri'
|
4
3
|
|
5
4
|
require_relative 'tree_tagger/version'
|
6
5
|
require_relative 'tree_tagger/cli'
|
7
|
-
require_relative 'tree_tagger/error_layer'
|
8
6
|
|
9
7
|
module Opener
|
10
8
|
class TreeTagger
|
@@ -31,13 +29,15 @@ module Opener
|
|
31
29
|
end
|
32
30
|
|
33
31
|
def run(input)
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
end
|
32
|
+
stdout, stderr, process = capture(input)
|
33
|
+
|
34
|
+
if process.success?
|
35
|
+
STDERR.puts(stderr) unless stderr.empty?
|
36
|
+
else
|
37
|
+
abort stderr
|
38
|
+
end
|
39
|
+
|
40
|
+
return stdout, stderr, process
|
41
41
|
end
|
42
42
|
|
43
43
|
def capture(input)
|
@@ -45,11 +45,19 @@ module Opener
|
|
45
45
|
end
|
46
46
|
|
47
47
|
def command
|
48
|
-
|
48
|
+
c = "#{adjust_python_path} #{prepend_tree_tagger_path} python -E -OO #{kernel} #{args.join(' ')}"
|
49
|
+
puts c
|
50
|
+
c
|
49
51
|
end
|
50
52
|
|
51
53
|
protected
|
52
54
|
|
55
|
+
def prepend_tree_tagger_path
|
56
|
+
#unless ENV['TREE_TAGGER_PATH']
|
57
|
+
path = File.expand_path('../../../core/vendor/build', __FILE__)
|
58
|
+
return "TREE_TAGGER_PATH=#{path}"
|
59
|
+
end
|
60
|
+
|
53
61
|
##
|
54
62
|
# @return [String]
|
55
63
|
#
|
data/opener-tree-tagger.gemspec
CHANGED
metadata
CHANGED
@@ -1,157 +1,143 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: opener-tree-tagger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0
|
4
|
+
version: 3.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- rubenIzquierdo
|
8
8
|
- sparkboxx
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-05-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: opener-daemons
|
16
|
-
version_requirements: !ruby/object:Gem::Requirement
|
17
|
-
requirements:
|
18
|
-
- - '>='
|
19
|
-
- !ruby/object:Gem::Version
|
20
|
-
version: '0'
|
21
16
|
requirement: !ruby/object:Gem::Requirement
|
22
17
|
requirements:
|
23
|
-
- - '>='
|
18
|
+
- - ! '>='
|
24
19
|
- !ruby/object:Gem::Version
|
25
20
|
version: '0'
|
26
|
-
prerelease: false
|
27
21
|
type: :runtime
|
28
|
-
|
29
|
-
name: opener-build-tools
|
22
|
+
prerelease: false
|
30
23
|
version_requirements: !ruby/object:Gem::Requirement
|
31
24
|
requirements:
|
32
|
-
- - '>='
|
25
|
+
- - ! '>='
|
33
26
|
- !ruby/object:Gem::Version
|
34
|
-
version: 0
|
27
|
+
version: '0'
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: opener-build-tools
|
35
30
|
requirement: !ruby/object:Gem::Requirement
|
36
31
|
requirements:
|
37
|
-
- - '>='
|
32
|
+
- - ! '>='
|
38
33
|
- !ruby/object:Gem::Version
|
39
34
|
version: 0.2.7
|
40
|
-
prerelease: false
|
41
35
|
type: :runtime
|
42
|
-
|
43
|
-
name: rake
|
36
|
+
prerelease: false
|
44
37
|
version_requirements: !ruby/object:Gem::Requirement
|
45
38
|
requirements:
|
46
|
-
- - '>='
|
39
|
+
- - ! '>='
|
47
40
|
- !ruby/object:Gem::Version
|
48
|
-
version:
|
41
|
+
version: 0.2.7
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: rake
|
49
44
|
requirement: !ruby/object:Gem::Requirement
|
50
45
|
requirements:
|
51
|
-
- - '>='
|
46
|
+
- - ! '>='
|
52
47
|
- !ruby/object:Gem::Version
|
53
48
|
version: '0'
|
54
|
-
prerelease: false
|
55
49
|
type: :runtime
|
56
|
-
|
57
|
-
name: sinatra
|
50
|
+
prerelease: false
|
58
51
|
version_requirements: !ruby/object:Gem::Requirement
|
59
52
|
requirements:
|
60
|
-
- - '>='
|
53
|
+
- - ! '>='
|
61
54
|
- !ruby/object:Gem::Version
|
62
55
|
version: '0'
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: sinatra
|
63
58
|
requirement: !ruby/object:Gem::Requirement
|
64
59
|
requirements:
|
65
|
-
- - '>='
|
60
|
+
- - ! '>='
|
66
61
|
- !ruby/object:Gem::Version
|
67
62
|
version: '0'
|
68
|
-
prerelease: false
|
69
63
|
type: :runtime
|
70
|
-
|
71
|
-
name: httpclient
|
64
|
+
prerelease: false
|
72
65
|
version_requirements: !ruby/object:Gem::Requirement
|
73
66
|
requirements:
|
74
|
-
- - '>='
|
67
|
+
- - ! '>='
|
75
68
|
- !ruby/object:Gem::Version
|
76
69
|
version: '0'
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: httpclient
|
77
72
|
requirement: !ruby/object:Gem::Requirement
|
78
73
|
requirements:
|
79
|
-
- - '>='
|
74
|
+
- - ! '>='
|
80
75
|
- !ruby/object:Gem::Version
|
81
76
|
version: '0'
|
82
|
-
prerelease: false
|
83
77
|
type: :runtime
|
84
|
-
|
85
|
-
name: puma
|
78
|
+
prerelease: false
|
86
79
|
version_requirements: !ruby/object:Gem::Requirement
|
87
80
|
requirements:
|
88
|
-
- - '>='
|
81
|
+
- - ! '>='
|
89
82
|
- !ruby/object:Gem::Version
|
90
83
|
version: '0'
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: puma
|
91
86
|
requirement: !ruby/object:Gem::Requirement
|
92
87
|
requirements:
|
93
|
-
- - '>='
|
88
|
+
- - ! '>='
|
94
89
|
- !ruby/object:Gem::Version
|
95
90
|
version: '0'
|
96
|
-
prerelease: false
|
97
91
|
type: :runtime
|
98
|
-
|
99
|
-
name: opener-webservice
|
92
|
+
prerelease: false
|
100
93
|
version_requirements: !ruby/object:Gem::Requirement
|
101
94
|
requirements:
|
102
|
-
- - '>='
|
95
|
+
- - ! '>='
|
103
96
|
- !ruby/object:Gem::Version
|
104
97
|
version: '0'
|
98
|
+
- !ruby/object:Gem::Dependency
|
99
|
+
name: opener-webservice
|
105
100
|
requirement: !ruby/object:Gem::Requirement
|
106
101
|
requirements:
|
107
|
-
- - '>='
|
102
|
+
- - ! '>='
|
108
103
|
- !ruby/object:Gem::Version
|
109
104
|
version: '0'
|
110
|
-
prerelease: false
|
111
105
|
type: :runtime
|
112
|
-
|
113
|
-
name: nokogiri
|
106
|
+
prerelease: false
|
114
107
|
version_requirements: !ruby/object:Gem::Requirement
|
115
108
|
requirements:
|
116
|
-
- - '>='
|
109
|
+
- - ! '>='
|
117
110
|
- !ruby/object:Gem::Version
|
118
111
|
version: '0'
|
112
|
+
- !ruby/object:Gem::Dependency
|
113
|
+
name: rspec
|
119
114
|
requirement: !ruby/object:Gem::Requirement
|
120
115
|
requirements:
|
121
|
-
- - '>='
|
116
|
+
- - ! '>='
|
122
117
|
- !ruby/object:Gem::Version
|
123
118
|
version: '0'
|
119
|
+
type: :development
|
124
120
|
prerelease: false
|
125
|
-
type: :runtime
|
126
|
-
- !ruby/object:Gem::Dependency
|
127
|
-
name: rspec
|
128
121
|
version_requirements: !ruby/object:Gem::Requirement
|
129
122
|
requirements:
|
130
|
-
- - '>='
|
123
|
+
- - ! '>='
|
131
124
|
- !ruby/object:Gem::Version
|
132
125
|
version: '0'
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: cucumber
|
133
128
|
requirement: !ruby/object:Gem::Requirement
|
134
129
|
requirements:
|
135
|
-
- - '>='
|
130
|
+
- - ! '>='
|
136
131
|
- !ruby/object:Gem::Version
|
137
132
|
version: '0'
|
138
|
-
prerelease: false
|
139
133
|
type: :development
|
140
|
-
|
141
|
-
name: cucumber
|
134
|
+
prerelease: false
|
142
135
|
version_requirements: !ruby/object:Gem::Requirement
|
143
136
|
requirements:
|
144
|
-
- - '>='
|
145
|
-
- !ruby/object:Gem::Version
|
146
|
-
version: '0'
|
147
|
-
requirement: !ruby/object:Gem::Requirement
|
148
|
-
requirements:
|
149
|
-
- - '>='
|
137
|
+
- - ! '>='
|
150
138
|
- !ruby/object:Gem::Version
|
151
139
|
version: '0'
|
152
|
-
|
153
|
-
type: :development
|
154
|
-
description: 'Ruby wrapped KAF based Tree Tagger for 6 languages '
|
140
|
+
description: ! 'Ruby wrapped KAF based Tree Tagger for 6 languages '
|
155
141
|
email:
|
156
142
|
- ruben.izquierdobevia@vu.nl
|
157
143
|
- wilco@olery.com
|
@@ -163,11 +149,6 @@ extensions:
|
|
163
149
|
- ext/hack/Rakefile
|
164
150
|
extra_rdoc_files: []
|
165
151
|
files:
|
166
|
-
- README.md
|
167
|
-
- bin/tree-tagger
|
168
|
-
- bin/tree-tagger-daemon
|
169
|
-
- bin/tree-tagger-server
|
170
|
-
- config.ru
|
171
152
|
- core/dutch.map.treetagger.kaf.csv
|
172
153
|
- core/english.map.treetagger.kaf.csv
|
173
154
|
- core/french.map.treetagger.kaf.csv
|
@@ -179,37 +160,42 @@ files:
|
|
179
160
|
- exec/tree-tagger.rb
|
180
161
|
- ext/hack/Rakefile
|
181
162
|
- ext/hack/support.rb
|
182
|
-
- lib/opener/tree_tagger.rb
|
183
163
|
- lib/opener/tree_tagger/cli.rb
|
184
|
-
- lib/opener/tree_tagger/error_layer.rb
|
185
164
|
- lib/opener/tree_tagger/public/markdown.css
|
186
165
|
- lib/opener/tree_tagger/server.rb
|
187
166
|
- lib/opener/tree_tagger/version.rb
|
188
167
|
- lib/opener/tree_tagger/views/index.erb
|
189
168
|
- lib/opener/tree_tagger/views/result.erb
|
169
|
+
- lib/opener/tree_tagger.rb
|
170
|
+
- config.ru
|
190
171
|
- opener-tree-tagger.gemspec
|
191
172
|
- pre_install_requirements.txt
|
173
|
+
- README.md
|
174
|
+
- bin/tree-tagger
|
175
|
+
- bin/tree-tagger-daemon
|
176
|
+
- bin/tree-tagger-server
|
192
177
|
homepage: http://opener-project.github.com/
|
193
178
|
licenses: []
|
194
179
|
metadata: {}
|
195
|
-
post_install_message:
|
180
|
+
post_install_message:
|
196
181
|
rdoc_options: []
|
197
182
|
require_paths:
|
198
183
|
- lib
|
199
184
|
required_ruby_version: !ruby/object:Gem::Requirement
|
200
185
|
requirements:
|
201
|
-
- - '>='
|
186
|
+
- - ! '>='
|
202
187
|
- !ruby/object:Gem::Version
|
203
188
|
version: '0'
|
204
189
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
205
190
|
requirements:
|
206
|
-
- - '>='
|
191
|
+
- - ! '>='
|
207
192
|
- !ruby/object:Gem::Version
|
208
193
|
version: '0'
|
209
194
|
requirements: []
|
210
|
-
rubyforge_project:
|
211
|
-
rubygems_version: 2.
|
212
|
-
signing_key:
|
195
|
+
rubyforge_project:
|
196
|
+
rubygems_version: 2.1.11
|
197
|
+
signing_key:
|
213
198
|
specification_version: 4
|
214
199
|
summary: Ruby wrapped KAF based Tree Tagger for 6 languages
|
215
200
|
test_files: []
|
201
|
+
has_rdoc:
|
@@ -1,89 +0,0 @@
|
|
1
|
-
module Opener
|
2
|
-
class TreeTagger
|
3
|
-
##
|
4
|
-
# Add Error Layer to KAF file instead of throwing an error.
|
5
|
-
#
|
6
|
-
class ErrorLayer
|
7
|
-
attr_accessor :input, :document, :error, :klass
|
8
|
-
|
9
|
-
def initialize(input, error, klass)
|
10
|
-
@input = input.to_s
|
11
|
-
# Make sure there is always a document, even if it is empty.
|
12
|
-
@document = Nokogiri::XML(input) rescue Nokogiri::XML(nil)
|
13
|
-
@error = error
|
14
|
-
@klass = klass
|
15
|
-
end
|
16
|
-
|
17
|
-
def add
|
18
|
-
if is_xml?
|
19
|
-
unless has_errors_layer?
|
20
|
-
add_errors_layer
|
21
|
-
end
|
22
|
-
else
|
23
|
-
add_root
|
24
|
-
add_text
|
25
|
-
add_errors_layer
|
26
|
-
end
|
27
|
-
add_error
|
28
|
-
|
29
|
-
xml = !!document.encoding ? document.to_xml : document.to_xml(:encoding => "UTF-8")
|
30
|
-
|
31
|
-
return xml
|
32
|
-
end
|
33
|
-
|
34
|
-
##
|
35
|
-
# Check if the document is a valid XML file.
|
36
|
-
#
|
37
|
-
def is_xml?
|
38
|
-
!!document.root
|
39
|
-
end
|
40
|
-
|
41
|
-
##
|
42
|
-
# Add root element to the XML file.
|
43
|
-
#
|
44
|
-
def add_root
|
45
|
-
root = Nokogiri::XML::Node.new "KAF", document
|
46
|
-
document.add_child(root)
|
47
|
-
end
|
48
|
-
|
49
|
-
##
|
50
|
-
# Check if the document already has an errors layer.
|
51
|
-
#
|
52
|
-
def has_errors_layer?
|
53
|
-
!!document.at('errors')
|
54
|
-
end
|
55
|
-
|
56
|
-
##
|
57
|
-
# Add errors element to the XML file.
|
58
|
-
#
|
59
|
-
def add_errors_layer
|
60
|
-
node = Nokogiri::XML::Node.new "errors", document
|
61
|
-
document.root.add_child(node)
|
62
|
-
end
|
63
|
-
|
64
|
-
##
|
65
|
-
# Add the text file incase it is not a valid XML document. More
|
66
|
-
# info for debugging.
|
67
|
-
#
|
68
|
-
def add_text
|
69
|
-
node = Nokogiri::XML::Node.new "raw", document
|
70
|
-
node.inner_html = input
|
71
|
-
document.root.add_child(node)
|
72
|
-
|
73
|
-
end
|
74
|
-
|
75
|
-
##
|
76
|
-
# Add the actual error to the errors layer.
|
77
|
-
#
|
78
|
-
def add_error
|
79
|
-
node = document.at('errors')
|
80
|
-
error_node = Nokogiri::XML::Node.new "error", node
|
81
|
-
error_node['class'] = klass.to_s
|
82
|
-
error_node['version'] = klass::VERSION
|
83
|
-
error_node.inner_html = error
|
84
|
-
node.add_child(error_node)
|
85
|
-
end
|
86
|
-
|
87
|
-
end # ErrorLayer
|
88
|
-
end # TreeTagger
|
89
|
-
end # Opener
|