opener-chained-daemon 2.0.1 → 2.2.2

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,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cfaaa3d8dc1f3ad59f09104ba3fd80ed7df960f804187b3e28f1e6cdaeb5e120
4
- data.tar.gz: dba40f046b26bc2ae55053d47441a29677d9c7fa4b681cb656e9cbebde03d5f6
3
+ metadata.gz: fb437fa8aeeb2133629c9545254252aa07145cbe9c81a9804703b168cc32c098
4
+ data.tar.gz: 47c6e1b0462a52710100b201c41b7a3feddaa89d9e80649efc323eaa4546db5e
5
5
  SHA512:
6
- metadata.gz: b8018365ade5df98bb0e25681c4697cb127461ad8163d37dab403658058fd540b23ba32ebbca346092d6ddb00cbe8eb780f8648af5ccb26cf4e75ced1a22df6e
7
- data.tar.gz: 3c3160113cd7babb0199e8e43b0c9eb5ada4190ea194db3830b2afdf3f17b61931e7705de06dff90135344488c60cef512720f3332e01f1675539e235cb8f7e1
6
+ metadata.gz: ff6d5446a98856a6d3981f1610a776374a50b5ae0f78bd3a9040e8f58fc704ce6a2f453475c88ecadc13cd4c0adb872403d60e827c4b2a95fd2ff11391fecb37
7
+ data.tar.gz: 25e202e8df0be31a8c03a6588b68f30d7a82faec24e1c461302ca8d7369de81a1ee87468df9a7b28cb472cb0aa5c476adbc4b004c525230fbff3aa56b7b841cb
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'bundler/setup'
4
+ require_relative '../lib/opener/chained_daemon'
5
+
6
+ begin
7
+ require 'awesome_print'
8
+ require 'pry'
9
+ binding.pry
10
+ rescue LoadError
11
+ require 'irb'
12
+ IRB.start
13
+ end
@@ -1,5 +1,6 @@
1
1
  require 'active_support/all'
2
2
  require 'oga'
3
+ require 'hashie'
3
4
  require 'google/cloud/translate'
4
5
 
5
6
  require 'opener/daemons'
@@ -7,7 +8,6 @@ require 'opener/daemons'
7
8
  require 'opener/language_identifier'
8
9
  require 'opener/tokenizer'
9
10
  # require ner before pos_tagger for compatible opennlp
10
- require 'opener/ner'
11
11
  require 'opener/pos_tagger'
12
12
  require 'opener/polarity_tagger'
13
13
  require 'opener/property_tagger'
@@ -15,3 +15,5 @@ require 'opener/opinion_detector_basic'
15
15
 
16
16
  require_relative 'chained_daemon/chained_daemon'
17
17
  require_relative 'chained_daemon/cli'
18
+ require_relative 'chained_daemon/microsoft_translator'
19
+
@@ -12,12 +12,12 @@ module Opener
12
12
  'opener-pos-tagger': Opener::POSTagger.new,
13
13
  'opener-polarity-tagger': Opener::PolarityTagger.new,
14
14
  'opener-property-tagger': Opener::PropertyTagger.new,
15
- 'opener-ner': Opener::Ner.new,
16
15
  'opener-opinion-detector-basic': Opener::OpinionDetectorBasic.new,
17
16
  }
18
17
  end
19
18
 
20
19
  def run input, params = {}
20
+ params ||= {}
21
21
  params.symbolize_keys!
22
22
  params[:translate_languages] ||= []
23
23
 
@@ -57,6 +57,8 @@ module Opener
57
57
  case translate_service params
58
58
  when :google
59
59
  raw.content = google_translator.translate raw.content, to: :en
60
+ when :microsoft
61
+ raw.content = microsoft_translator.translate raw.content, to: :en
60
62
  else
61
63
  raw.content = google_translator.translate raw.content, to: :en
62
64
  end
@@ -75,6 +77,10 @@ module Opener
75
77
  @google_translator ||= Google::Cloud.new.translate ENV['GOOGLE_TRANSLATE_TOKEN']
76
78
  end
77
79
 
80
+ def microsoft_translator
81
+ @microsoft_translator ||= MicrosoftTranslator.new
82
+ end
83
+
78
84
  private
79
85
 
80
86
  def debug_print queue, input
@@ -0,0 +1,27 @@
1
+ module Opener
2
+ class ChainedDaemon
3
+ class MicrosoftTranslator
4
+
5
+ URL = 'https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=%{to}'
6
+ TOKEN = ENV['MICROSOFT_TRANSLATE_TOKEN']
7
+
8
+ def initialize
9
+ @http = HTTPClient.new
10
+ end
11
+
12
+ def translate text, to: :en
13
+ url = URL % {to: to}
14
+ resp = @http.post url,
15
+ body: [{Text: text}].to_json,
16
+ header: {'Ocp-Apim-Subscription-Key' => TOKEN, 'Content-Type' => 'application/json'}
17
+
18
+ data = JSON.parse resp.body
19
+ raise data['error']['message'] if data.is_a? Hash and data['error']
20
+
21
+ data = Hashie::Mash.new data[0]
22
+ data&.translations&.first&.text
23
+ end
24
+
25
+ end
26
+ end
27
+ end
@@ -1,7 +1,7 @@
1
1
  module Opener
2
2
  class ChainedDaemon
3
3
 
4
- VERSION = '2.0.1'
4
+ VERSION = '2.2.2'
5
5
 
6
6
  end
7
7
  end
@@ -22,6 +22,8 @@ Gem::Specification.new do |spec|
22
22
 
23
23
  spec.add_dependency 'activesupport'
24
24
  spec.add_dependency 'google-cloud-translate', '~> 1.0'
25
+ spec.add_dependency 'httpclient'
26
+ spec.add_dependency 'hashie'
25
27
 
26
28
  spec.add_dependency 'opener-daemons', '~> 2.7.1'
27
29
  spec.add_dependency 'opener-callback-handler', '~> 1.0'
@@ -29,14 +31,14 @@ Gem::Specification.new do |spec|
29
31
  spec.add_dependency 'opener-language-identifier'
30
32
  spec.add_dependency 'opener-tokenizer'
31
33
  spec.add_dependency 'opener-pos-tagger'
32
- spec.add_dependency 'opener-polarity-tagger'
33
- spec.add_dependency 'opener-property-tagger'
34
- spec.add_dependency 'opener-ner'
34
+ spec.add_dependency 'opener-polarity-tagger', '>= 3.1.3'
35
+ spec.add_dependency 'opener-property-tagger', '>= 3.2.1'
35
36
  spec.add_dependency 'opener-opinion-detector-basic'
36
37
 
37
38
  spec.add_development_dependency 'bundler', '~> 1.3'
38
39
  spec.add_development_dependency 'rake'
39
40
  spec.add_development_dependency 'pry'
41
+ spec.add_development_dependency 'awesome_print'
40
42
  spec.add_development_dependency 'rspec'
41
43
  spec.add_development_dependency 'rack-test'
42
44
  end
metadata CHANGED
@@ -1,234 +1,262 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opener-chained-daemon
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - development@olery.com
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-09 00:00:00.000000000 Z
11
+ date: 2020-09-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
+ name: activesupport
14
15
  requirement: !ruby/object:Gem::Requirement
15
16
  requirements:
16
17
  - - ">="
17
18
  - !ruby/object:Gem::Version
18
19
  version: '0'
19
- name: activesupport
20
- prerelease: false
21
20
  type: :runtime
21
+ prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
+ name: google-cloud-translate
28
29
  requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
31
  - - "~>"
31
32
  - !ruby/object:Gem::Version
32
33
  version: '1.0'
33
- name: google-cloud-translate
34
- prerelease: false
35
34
  type: :runtime
35
+ prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.0'
41
41
  - !ruby/object:Gem::Dependency
42
+ name: httpclient
42
43
  requirement: !ruby/object:Gem::Requirement
43
44
  requirements:
44
- - - "~>"
45
+ - - ">="
45
46
  - !ruby/object:Gem::Version
46
- version: 2.7.1
47
- name: opener-daemons
47
+ version: '0'
48
+ type: :runtime
48
49
  prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: hashie
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
49
62
  type: :runtime
63
+ prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
- - - "~>"
66
+ - - ">="
53
67
  - !ruby/object:Gem::Version
54
- version: 2.7.1
68
+ version: '0'
55
69
  - !ruby/object:Gem::Dependency
70
+ name: opener-daemons
56
71
  requirement: !ruby/object:Gem::Requirement
57
72
  requirements:
58
73
  - - "~>"
59
74
  - !ruby/object:Gem::Version
60
- version: '1.0'
61
- name: opener-callback-handler
62
- prerelease: false
75
+ version: 2.7.1
63
76
  type: :runtime
77
+ prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
80
  - - "~>"
67
81
  - !ruby/object:Gem::Version
68
- version: '1.0'
82
+ version: 2.7.1
69
83
  - !ruby/object:Gem::Dependency
84
+ name: opener-callback-handler
70
85
  requirement: !ruby/object:Gem::Requirement
71
86
  requirements:
72
- - - ">="
87
+ - - "~>"
73
88
  - !ruby/object:Gem::Version
74
- version: '0'
75
- name: opener-language-identifier
76
- prerelease: false
89
+ version: '1.0'
77
90
  type: :runtime
91
+ prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
- - - ">="
94
+ - - "~>"
81
95
  - !ruby/object:Gem::Version
82
- version: '0'
96
+ version: '1.0'
83
97
  - !ruby/object:Gem::Dependency
98
+ name: opener-language-identifier
84
99
  requirement: !ruby/object:Gem::Requirement
85
100
  requirements:
86
101
  - - ">="
87
102
  - !ruby/object:Gem::Version
88
103
  version: '0'
89
- name: opener-tokenizer
90
- prerelease: false
91
104
  type: :runtime
105
+ prerelease: false
92
106
  version_requirements: !ruby/object:Gem::Requirement
93
107
  requirements:
94
108
  - - ">="
95
109
  - !ruby/object:Gem::Version
96
110
  version: '0'
97
111
  - !ruby/object:Gem::Dependency
112
+ name: opener-tokenizer
98
113
  requirement: !ruby/object:Gem::Requirement
99
114
  requirements:
100
115
  - - ">="
101
116
  - !ruby/object:Gem::Version
102
117
  version: '0'
103
- name: opener-pos-tagger
104
- prerelease: false
105
118
  type: :runtime
119
+ prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
107
121
  requirements:
108
122
  - - ">="
109
123
  - !ruby/object:Gem::Version
110
124
  version: '0'
111
125
  - !ruby/object:Gem::Dependency
126
+ name: opener-pos-tagger
112
127
  requirement: !ruby/object:Gem::Requirement
113
128
  requirements:
114
129
  - - ">="
115
130
  - !ruby/object:Gem::Version
116
131
  version: '0'
117
- name: opener-polarity-tagger
118
- prerelease: false
119
132
  type: :runtime
133
+ prerelease: false
120
134
  version_requirements: !ruby/object:Gem::Requirement
121
135
  requirements:
122
136
  - - ">="
123
137
  - !ruby/object:Gem::Version
124
138
  version: '0'
125
139
  - !ruby/object:Gem::Dependency
140
+ name: opener-polarity-tagger
126
141
  requirement: !ruby/object:Gem::Requirement
127
142
  requirements:
128
143
  - - ">="
129
144
  - !ruby/object:Gem::Version
130
- version: '0'
131
- name: opener-property-tagger
132
- prerelease: false
145
+ version: 3.1.3
133
146
  type: :runtime
147
+ prerelease: false
134
148
  version_requirements: !ruby/object:Gem::Requirement
135
149
  requirements:
136
150
  - - ">="
137
151
  - !ruby/object:Gem::Version
138
- version: '0'
152
+ version: 3.1.3
139
153
  - !ruby/object:Gem::Dependency
154
+ name: opener-property-tagger
140
155
  requirement: !ruby/object:Gem::Requirement
141
156
  requirements:
142
157
  - - ">="
143
158
  - !ruby/object:Gem::Version
144
- version: '0'
145
- name: opener-ner
146
- prerelease: false
159
+ version: 3.2.1
147
160
  type: :runtime
161
+ prerelease: false
148
162
  version_requirements: !ruby/object:Gem::Requirement
149
163
  requirements:
150
164
  - - ">="
151
165
  - !ruby/object:Gem::Version
152
- version: '0'
166
+ version: 3.2.1
153
167
  - !ruby/object:Gem::Dependency
168
+ name: opener-opinion-detector-basic
154
169
  requirement: !ruby/object:Gem::Requirement
155
170
  requirements:
156
171
  - - ">="
157
172
  - !ruby/object:Gem::Version
158
173
  version: '0'
159
- name: opener-opinion-detector-basic
160
- prerelease: false
161
174
  type: :runtime
175
+ prerelease: false
162
176
  version_requirements: !ruby/object:Gem::Requirement
163
177
  requirements:
164
178
  - - ">="
165
179
  - !ruby/object:Gem::Version
166
180
  version: '0'
167
181
  - !ruby/object:Gem::Dependency
182
+ name: bundler
168
183
  requirement: !ruby/object:Gem::Requirement
169
184
  requirements:
170
185
  - - "~>"
171
186
  - !ruby/object:Gem::Version
172
187
  version: '1.3'
173
- name: bundler
174
- prerelease: false
175
188
  type: :development
189
+ prerelease: false
176
190
  version_requirements: !ruby/object:Gem::Requirement
177
191
  requirements:
178
192
  - - "~>"
179
193
  - !ruby/object:Gem::Version
180
194
  version: '1.3'
181
195
  - !ruby/object:Gem::Dependency
196
+ name: rake
182
197
  requirement: !ruby/object:Gem::Requirement
183
198
  requirements:
184
199
  - - ">="
185
200
  - !ruby/object:Gem::Version
186
201
  version: '0'
187
- name: rake
188
- prerelease: false
189
202
  type: :development
203
+ prerelease: false
190
204
  version_requirements: !ruby/object:Gem::Requirement
191
205
  requirements:
192
206
  - - ">="
193
207
  - !ruby/object:Gem::Version
194
208
  version: '0'
195
209
  - !ruby/object:Gem::Dependency
210
+ name: pry
196
211
  requirement: !ruby/object:Gem::Requirement
197
212
  requirements:
198
213
  - - ">="
199
214
  - !ruby/object:Gem::Version
200
215
  version: '0'
201
- name: pry
202
- prerelease: false
203
216
  type: :development
217
+ prerelease: false
204
218
  version_requirements: !ruby/object:Gem::Requirement
205
219
  requirements:
206
220
  - - ">="
207
221
  - !ruby/object:Gem::Version
208
222
  version: '0'
209
223
  - !ruby/object:Gem::Dependency
224
+ name: awesome_print
210
225
  requirement: !ruby/object:Gem::Requirement
211
226
  requirements:
212
227
  - - ">="
213
228
  - !ruby/object:Gem::Version
214
229
  version: '0'
215
- name: rspec
216
- prerelease: false
217
230
  type: :development
231
+ prerelease: false
218
232
  version_requirements: !ruby/object:Gem::Requirement
219
233
  requirements:
220
234
  - - ">="
221
235
  - !ruby/object:Gem::Version
222
236
  version: '0'
223
237
  - !ruby/object:Gem::Dependency
238
+ name: rspec
224
239
  requirement: !ruby/object:Gem::Requirement
225
240
  requirements:
226
241
  - - ">="
227
242
  - !ruby/object:Gem::Version
228
243
  version: '0'
229
- name: rack-test
244
+ type: :development
230
245
  prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - ">="
249
+ - !ruby/object:Gem::Version
250
+ version: '0'
251
+ - !ruby/object:Gem::Dependency
252
+ name: rack-test
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - ">="
256
+ - !ruby/object:Gem::Version
257
+ version: '0'
231
258
  type: :development
259
+ prerelease: false
232
260
  version_requirements: !ruby/object:Gem::Requirement
233
261
  requirements:
234
262
  - - ">="
@@ -240,16 +268,19 @@ executables:
240
268
  - chained-daemon
241
269
  - chained-daemon-daemon
242
270
  - chained-daemon-csv
271
+ - console
243
272
  extensions: []
244
273
  extra_rdoc_files: []
245
274
  files:
246
275
  - bin/chained-daemon
247
276
  - bin/chained-daemon-csv
248
277
  - bin/chained-daemon-daemon
278
+ - bin/console
249
279
  - exec/chained-daemon.rb
250
280
  - lib/opener/chained_daemon.rb
251
281
  - lib/opener/chained_daemon/chained_daemon.rb
252
282
  - lib/opener/chained_daemon/cli.rb
283
+ - lib/opener/chained_daemon/microsoft_translator.rb
253
284
  - lib/opener/chained_daemon/version.rb
254
285
  - opener-chained-daemon.gemspec
255
286
  homepage:
@@ -272,7 +303,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
272
303
  version: '0'
273
304
  requirements: []
274
305
  rubyforge_project:
275
- rubygems_version: 2.7.9
306
+ rubygems_version: 2.7.8
276
307
  signing_key:
277
308
  specification_version: 4
278
309
  summary: OpeNER daemon for processing multiple queues at once