opener-chained-daemon 2.0.1 → 2.2.2

Sign up to get free protection for your applications and to get access to all the features.
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