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 CHANGED
@@ -1,7 +1,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: cab721e2680cda7db23fbdfbd0c9906b9bcbe9c9
4
- data.tar.gz: 1a588fc17600dc745f7d61b0e04db5bf69889c09
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ YTc4NTA2YmQzYzVlZTZlMjhmNzk0NmFmZjI0NzBmZTU1MzU4YzNkMQ==
5
+ data.tar.gz: !binary |-
6
+ MDc0OTUzZTI3YjVmYjZlMjA1YzNjYTI2NjY0ZGJkMDVjY2YwOTdmZg==
5
7
  SHA512:
6
- metadata.gz: 2ab590a575f57a151c4c44107364146da81a85bf22efd833fa41573d245c542a3a233815454c5ad3f6333bbb9656586f5ea696cd0b3a2f2191dbe3c4453960f2
7
- data.tar.gz: 0fea7b465b5a9198974bbd1ad73f90ec44d2d570f29087b2ed5c06ab87dd798e93ef113cf15472064c04b9f56149ba077320778650b11e53de6d1f1a52b485e6
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 website](http://opener-project.github.io)
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
@@ -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
@@ -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
- begin
35
- stdout, stderr, process = capture(input)
36
- raise stderr unless process.success?
37
- return stdout
38
- rescue Exception => error
39
- return ErrorLayer.new(input, error.message, self.class).add
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
- return "#{adjust_python_path} python -E -OO #{kernel} #{args.join(' ')}"
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
  #
@@ -1,5 +1,5 @@
1
1
  module Opener
2
2
  class TreeTagger
3
- VERSION = "3.0.3"
3
+ VERSION = "3.2.0"
4
4
  end
5
5
  end
@@ -30,7 +30,6 @@ Gem::Specification.new do |gem|
30
30
  gem.add_dependency 'httpclient'
31
31
  gem.add_dependency 'puma'
32
32
  gem.add_dependency 'opener-webservice'
33
- gem.add_dependency 'nokogiri'
34
33
 
35
34
  gem.add_development_dependency 'rspec'
36
35
  gem.add_development_dependency 'cucumber'
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.3
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-06-12 00:00:00.000000000 Z
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
- - !ruby/object:Gem::Dependency
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.2.7
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
- - !ruby/object:Gem::Dependency
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: '0'
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
- - !ruby/object:Gem::Dependency
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
- - !ruby/object:Gem::Dependency
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
- - !ruby/object:Gem::Dependency
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
- - !ruby/object:Gem::Dependency
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
- - !ruby/object:Gem::Dependency
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
- - !ruby/object:Gem::Dependency
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
- prerelease: false
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.2.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