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 +4 -4
- data/bin/console +13 -0
- data/lib/opener/chained_daemon.rb +3 -1
- data/lib/opener/chained_daemon/chained_daemon.rb +7 -1
- data/lib/opener/chained_daemon/microsoft_translator.rb +27 -0
- data/lib/opener/chained_daemon/version.rb +1 -1
- data/opener-chained-daemon.gemspec +6 -4
- metadata +59 -28
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 62fe03fff144aed01e4a993218ef09b23cf99171f7ee9e310bc337720a53f0e4
|
4
|
+
data.tar.gz: dc3b6bd3537af53b3195b1f7f9f125efbf09c74780471fc13124514ad5dc93a1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 63b27c70aaf36690ad5f713aa7043841f2996bca881cee9491ed000dda8f7bae915b99e78751ca2b775776a1494c02c97c38b4ecc113730f28e23135be952f2f
|
7
|
+
data.tar.gz: 67c5cd6a3eb2b26370cef3de302637f1a118574753f05dc6a3e0a99fd42ecea70eecd9d19e6e9b984584c1448d7dc01719cd729e2415c73fcb8fa67388ca2534
|
data/bin/console
ADDED
@@ -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
|
@@ -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', '
|
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.
|
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-
|
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:
|
42
|
+
name: httpclient
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
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: '
|
54
|
+
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
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:
|
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:
|
82
|
+
version: 2.7.1
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
|
-
name: opener-
|
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-
|
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-
|
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-
|
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-
|
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:
|
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:
|
152
|
+
version: 3.1.2
|
139
153
|
- !ruby/object:Gem::Dependency
|
140
|
-
name: opener-
|
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:
|
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:
|
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: []
|