opener-chained-daemon 2.0.0 → 2.2.1

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: acaa68db270b274f2cf20783d7407b1baeb967ba956ee3d1122aaf5f72156fb8
4
- data.tar.gz: 336b2d8cf72c6a7b011acae5335de015bc29158042706c4e5c0729ca845feab9
3
+ metadata.gz: 62fe03fff144aed01e4a993218ef09b23cf99171f7ee9e310bc337720a53f0e4
4
+ data.tar.gz: dc3b6bd3537af53b3195b1f7f9f125efbf09c74780471fc13124514ad5dc93a1
5
5
  SHA512:
6
- metadata.gz: dad04d51c0b89e08c928a41c6c45c88174303f47d457f7576294e31b4b04341add667d4f2390859b120d20026728f66e3b8272551b35eef434f8292f2a1e9bf7
7
- data.tar.gz: 4468af5b3d8e96ecf7df73cf0cf2d109b0c8af92236f51597403ff3fb78ba07c741d652e8f2ab4457d70b4219ed477e90ba9d09edb2bd13eae475efdda50c6ee
6
+ metadata.gz: 63b27c70aaf36690ad5f713aa7043841f2996bca881cee9491ed000dda8f7bae915b99e78751ca2b775776a1494c02c97c38b4ecc113730f28e23135be952f2f
7
+ data.tar.gz: 67c5cd6a3eb2b26370cef3de302637f1a118574753f05dc6a3e0a99fd42ecea70eecd9d19e6e9b984584c1448d7dc01719cd729e2415c73fcb8fa67388ca2534
@@ -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.0'
4
+ VERSION = '2.2.1'
5
5
 
6
6
  end
7
7
  end
@@ -22,21 +22,23 @@ 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
- spec.add_dependency 'opener-daemons', '>= 2.7'
28
+ spec.add_dependency 'opener-daemons', '~> 2.7.1'
27
29
  spec.add_dependency 'opener-callback-handler', '~> 1.0'
28
30
 
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.2'
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,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opener-chained-daemon
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - development@olery.com
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-05 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
14
  name: activesupport
@@ -39,49 +39,63 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: opener-daemons
42
+ name: httpclient
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '2.7'
47
+ version: '0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: '2.7'
54
+ version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: opener-callback-handler
56
+ name: hashie
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: opener-daemons
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
73
  - - "~>"
60
74
  - !ruby/object:Gem::Version
61
- version: '1.0'
75
+ version: 2.7.1
62
76
  type: :runtime
63
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
70
- name: opener-language-identifier
84
+ name: opener-callback-handler
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
- - - ">="
87
+ - - "~>"
74
88
  - !ruby/object:Gem::Version
75
- version: '0'
89
+ version: '1.0'
76
90
  type: :runtime
77
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
84
- name: opener-tokenizer
98
+ name: opener-language-identifier
85
99
  requirement: !ruby/object:Gem::Requirement
86
100
  requirements:
87
101
  - - ">="
@@ -95,7 +109,7 @@ dependencies:
95
109
  - !ruby/object:Gem::Version
96
110
  version: '0'
97
111
  - !ruby/object:Gem::Dependency
98
- name: opener-pos-tagger
112
+ name: opener-tokenizer
99
113
  requirement: !ruby/object:Gem::Requirement
100
114
  requirements:
101
115
  - - ">="
@@ -109,7 +123,7 @@ dependencies:
109
123
  - !ruby/object:Gem::Version
110
124
  version: '0'
111
125
  - !ruby/object:Gem::Dependency
112
- name: opener-polarity-tagger
126
+ name: opener-pos-tagger
113
127
  requirement: !ruby/object:Gem::Requirement
114
128
  requirements:
115
129
  - - ">="
@@ -123,33 +137,33 @@ dependencies:
123
137
  - !ruby/object:Gem::Version
124
138
  version: '0'
125
139
  - !ruby/object:Gem::Dependency
126
- name: opener-property-tagger
140
+ name: opener-polarity-tagger
127
141
  requirement: !ruby/object:Gem::Requirement
128
142
  requirements:
129
143
  - - ">="
130
144
  - !ruby/object:Gem::Version
131
- version: '0'
145
+ version: 3.1.2
132
146
  type: :runtime
133
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.2
139
153
  - !ruby/object:Gem::Dependency
140
- name: opener-ner
154
+ name: opener-property-tagger
141
155
  requirement: !ruby/object:Gem::Requirement
142
156
  requirements:
143
157
  - - ">="
144
158
  - !ruby/object:Gem::Version
145
- version: '0'
159
+ version: 3.2.1
146
160
  type: :runtime
147
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
154
168
  name: opener-opinion-detector-basic
155
169
  requirement: !ruby/object:Gem::Requirement
@@ -206,6 +220,20 @@ dependencies:
206
220
  - - ">="
207
221
  - !ruby/object:Gem::Version
208
222
  version: '0'
223
+ - !ruby/object:Gem::Dependency
224
+ name: awesome_print
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - ">="
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
209
237
  - !ruby/object:Gem::Dependency
210
238
  name: rspec
211
239
  requirement: !ruby/object:Gem::Requirement
@@ -235,28 +263,31 @@ dependencies:
235
263
  - !ruby/object:Gem::Version
236
264
  version: '0'
237
265
  description: OpeNER daemon for processing multiple queues at once
238
- email:
266
+ email:
239
267
  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
- homepage:
286
+ homepage:
256
287
  licenses:
257
288
  - Apache 2.0
258
289
  metadata: {}
259
- post_install_message:
290
+ post_install_message:
260
291
  rdoc_options: []
261
292
  require_paths:
262
293
  - lib
@@ -271,9 +302,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
271
302
  - !ruby/object:Gem::Version
272
303
  version: '0'
273
304
  requirements: []
274
- rubyforge_project:
305
+ rubyforge_project:
275
306
  rubygems_version: 2.7.8
276
- signing_key:
307
+ signing_key:
277
308
  specification_version: 4
278
309
  summary: OpeNER daemon for processing multiple queues at once
279
310
  test_files: []