opener-chained-daemon 2.0.0 → 2.2.1

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: 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: []