opener-chained-daemon 2.0.1 → 2.1.0
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 -0
- data/lib/opener/chained_daemon/chained_daemon.rb +6 -0
- data/lib/opener/chained_daemon/microsoft_translator.rb +27 -0
- data/lib/opener/chained_daemon/version.rb +1 -1
- data/opener-chained-daemon.gemspec +3 -0
- metadata +47 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5b39c68214bb77d796b0b7cb609d65a52344b2405e41d528b0c4753251fccc14
|
4
|
+
data.tar.gz: 005e47314b0b223b7a875112a824064be74a46de978f5c4d0e54690bb6087b70
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d97b590bf53342ec675e5da47b0357a2af5fcd519315eb6ca18edd75f3c480aca0c474397af78fd92d7503672dafe67b98ca94bb6ce74f17fe6cf862841cd4dd
|
7
|
+
data.tar.gz: 4cbdf973388f3e72febd98d14f86da25ad05cc312d33c50d72cbd9b10ac6072e929917b1c89de12e28b2e241cbae69ddb74f5ab43b771ba6a8e1fdcf4627b444
|
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'
|
@@ -15,3 +16,5 @@ require 'opener/opinion_detector_basic'
|
|
15
16
|
|
16
17
|
require_relative 'chained_daemon/chained_daemon'
|
17
18
|
require_relative 'chained_daemon/cli'
|
19
|
+
require_relative 'chained_daemon/microsoft_translator'
|
20
|
+
|
@@ -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,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'
|
@@ -37,6 +39,7 @@ Gem::Specification.new do |spec|
|
|
37
39
|
spec.add_development_dependency 'bundler', '~> 1.3'
|
38
40
|
spec.add_development_dependency 'rake'
|
39
41
|
spec.add_development_dependency 'pry'
|
42
|
+
spec.add_development_dependency 'awesome_print'
|
40
43
|
spec.add_development_dependency 'rspec'
|
41
44
|
spec.add_development_dependency 'rack-test'
|
42
45
|
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
|
4
|
+
version: 2.1.0
|
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-
|
11
|
+
date: 2020-04-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
@@ -38,6 +38,34 @@ dependencies:
|
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '1.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
requirement: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '0'
|
47
|
+
name: httpclient
|
48
|
+
prerelease: false
|
49
|
+
type: :runtime
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '0'
|
61
|
+
name: hashie
|
62
|
+
prerelease: false
|
63
|
+
type: :runtime
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
41
69
|
- !ruby/object:Gem::Dependency
|
42
70
|
requirement: !ruby/object:Gem::Requirement
|
43
71
|
requirements:
|
@@ -206,6 +234,20 @@ dependencies:
|
|
206
234
|
- - ">="
|
207
235
|
- !ruby/object:Gem::Version
|
208
236
|
version: '0'
|
237
|
+
- !ruby/object:Gem::Dependency
|
238
|
+
requirement: !ruby/object:Gem::Requirement
|
239
|
+
requirements:
|
240
|
+
- - ">="
|
241
|
+
- !ruby/object:Gem::Version
|
242
|
+
version: '0'
|
243
|
+
name: awesome_print
|
244
|
+
prerelease: false
|
245
|
+
type: :development
|
246
|
+
version_requirements: !ruby/object:Gem::Requirement
|
247
|
+
requirements:
|
248
|
+
- - ">="
|
249
|
+
- !ruby/object:Gem::Version
|
250
|
+
version: '0'
|
209
251
|
- !ruby/object:Gem::Dependency
|
210
252
|
requirement: !ruby/object:Gem::Requirement
|
211
253
|
requirements:
|
@@ -240,16 +282,19 @@ executables:
|
|
240
282
|
- chained-daemon
|
241
283
|
- chained-daemon-daemon
|
242
284
|
- chained-daemon-csv
|
285
|
+
- console
|
243
286
|
extensions: []
|
244
287
|
extra_rdoc_files: []
|
245
288
|
files:
|
246
289
|
- bin/chained-daemon
|
247
290
|
- bin/chained-daemon-csv
|
248
291
|
- bin/chained-daemon-daemon
|
292
|
+
- bin/console
|
249
293
|
- exec/chained-daemon.rb
|
250
294
|
- lib/opener/chained_daemon.rb
|
251
295
|
- lib/opener/chained_daemon/chained_daemon.rb
|
252
296
|
- lib/opener/chained_daemon/cli.rb
|
297
|
+
- lib/opener/chained_daemon/microsoft_translator.rb
|
253
298
|
- lib/opener/chained_daemon/version.rb
|
254
299
|
- opener-chained-daemon.gemspec
|
255
300
|
homepage:
|