opener-chained-daemon 3.1.4 → 3.3.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/opener/chained_daemon.rb +2 -0
- data/lib/opener/chained_daemon/chained_daemon.rb +12 -9
- data/lib/opener/chained_daemon/cli.rb +1 -6
- data/lib/opener/chained_daemon/version.rb +1 -1
- data/lib/opener/stanza/tokenizer_pos.rb +12 -7
- data/lib/opener/sym_mash.rb +14 -0
- data/opener-chained-daemon.gemspec +2 -2
- metadata +11 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cc653c1ad199004e447345039efddd2254448322024b4e73b1ef5b1fed16cb2a
|
4
|
+
data.tar.gz: c4bf149413782c68ec589cf2dc3aa46f102fa7d1da9e86705214117b1ab99197
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 36baa4df69fe723ae8901a85343e33e80a21a3f81f0ac31405ccd45ac49000c4433b80bdbe3fa95b5539dfc05335c53b784cb312bd4a787b1e74a72448db10b4
|
7
|
+
data.tar.gz: 3f8307d1f57cc6da874f2f6a51d52cf72dbe18316f4228406dd13c8aaf7a643722408b1418b5e1b7af9e98687d210558ba177e1d6de2a672d68189957cec21fa
|
@@ -11,17 +11,20 @@ module Opener
|
|
11
11
|
'stanza-tokenizer-pos': Stanza::TokenizerPos.new, # replace this tokenizer-pos with both below with you dont have a stanza server
|
12
12
|
#'opener-tokenizer': Opener::Tokenizer.new,
|
13
13
|
#'opener-pos-tagger': Opener::POSTagger.new,
|
14
|
-
'opener-polarity-tagger': Opener::PolarityTagger.new,
|
15
14
|
'opener-property-tagger': Opener::PropertyTagger.new,
|
15
|
+
'opener-polarity-tagger': Opener::PolarityTagger.new,
|
16
16
|
'opener-opinion-detector-basic': Opener::OpinionDetectorBasic.new,
|
17
17
|
}
|
18
18
|
end
|
19
19
|
|
20
|
-
def run input,
|
21
|
-
params
|
22
|
-
params.
|
23
|
-
params
|
24
|
-
params
|
20
|
+
def run input, _params = {}
|
21
|
+
params = SymMash.new _params
|
22
|
+
params.translate_languages ||= []
|
23
|
+
params.cache_keys = SymMash.new params.cache_keys&.to_h&.sort&.to_h || {}
|
24
|
+
if params.filter_vertical and params.property_type.present?
|
25
|
+
params.cache_keys.property_type = params.property_type
|
26
|
+
end
|
27
|
+
params.cache_keys.environment ||= 'production'
|
25
28
|
|
26
29
|
lang = nil
|
27
30
|
output = nil
|
@@ -34,7 +37,7 @@ module Opener
|
|
34
37
|
rescue Core::UnsupportedLanguageError
|
35
38
|
xml = Nokogiri.parse input
|
36
39
|
lang = xml.root.attr('xml:lang')
|
37
|
-
raise unless lang.in? params
|
40
|
+
raise unless lang.in? params.translate_languages
|
38
41
|
|
39
42
|
input = translate xml, params
|
40
43
|
retry
|
@@ -47,7 +50,7 @@ module Opener
|
|
47
50
|
output = xml.to_s
|
48
51
|
end
|
49
52
|
|
50
|
-
output = pretty_print output if params
|
53
|
+
output = pretty_print output if params.cache_keys&.environment == 'staging'
|
51
54
|
output
|
52
55
|
|
53
56
|
rescue Core::UnsupportedLanguageError
|
@@ -84,7 +87,7 @@ module Opener
|
|
84
87
|
protected
|
85
88
|
|
86
89
|
def translate_service params
|
87
|
-
params
|
90
|
+
params.translate_service&.to_sym || :google
|
88
91
|
end
|
89
92
|
|
90
93
|
def google_translator
|
@@ -47,12 +47,7 @@ Example:
|
|
47
47
|
run do |opts, args|
|
48
48
|
daemon = ChainedDaemon.new args: args
|
49
49
|
input = STDIN.tty? ? nil : STDIN.read
|
50
|
-
|
51
|
-
params = if ENV['PARAMS']
|
52
|
-
JSON.parse ENV['PARAMS']
|
53
|
-
else
|
54
|
-
{}
|
55
|
-
end
|
50
|
+
params = if ENV['PARAMS'] then JSON.parse ENV['PARAMS'] else {} end
|
56
51
|
# Set environment as staging from console for testing purposes
|
57
52
|
params[:cache_keys] = { environment: 'staging', merged: true }
|
58
53
|
|
@@ -38,7 +38,7 @@ module Opener
|
|
38
38
|
|
39
39
|
kaf = KAF::Document.from_xml input
|
40
40
|
|
41
|
-
prod = params
|
41
|
+
prod = params.cache_keys.environment == 'production'
|
42
42
|
if prod and !LANGUAGES_CACHE.get.include?(kaf.language)
|
43
43
|
raise Core::UnsupportedLanguageError.new kaf.language
|
44
44
|
end
|
@@ -52,17 +52,22 @@ module Opener
|
|
52
52
|
|
53
53
|
w_index = 0
|
54
54
|
|
55
|
+
miscs = {}
|
56
|
+
tokens.each_with_index do |t, i|
|
57
|
+
miscs[i] = {}
|
58
|
+
t.each do |word|
|
59
|
+
word['id'].is_a?(Array) && word['id'].each { |id| miscs[i][id] = word['misc'] }
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
55
63
|
tokens.map{ |t| t.reverse! } if RTL_LANGUAGES.include? kaf.language
|
56
64
|
tokens.each_with_index do |sentence, s_index|
|
57
|
-
miscs = {}
|
58
65
|
sentence.each_with_index do |word|
|
59
66
|
w_index += 1
|
60
67
|
# save misc for later usase in a MWT case
|
61
|
-
if word['id'].is_a? Array
|
62
|
-
|
63
|
-
|
64
|
-
end
|
65
|
-
misc = word['misc'] || miscs[word['id']]
|
68
|
+
next if word['id'].is_a? Array
|
69
|
+
|
70
|
+
misc = word['misc'] || miscs[s_index][word['id']]
|
66
71
|
|
67
72
|
Rollbar.scoped({ input: input, params: params, tokens: tokens, word: word }) do
|
68
73
|
raise 'Missing misc'
|
@@ -35,8 +35,8 @@ Gem::Specification.new do |spec|
|
|
35
35
|
spec.add_dependency 'opener-language-identifier', '>= 4.4.0'
|
36
36
|
spec.add_dependency 'opener-tokenizer', '>= 2.2.0'
|
37
37
|
spec.add_dependency 'opener-pos-tagger', '>= 3.2.0'
|
38
|
-
spec.add_dependency 'opener-
|
39
|
-
spec.add_dependency 'opener-
|
38
|
+
spec.add_dependency 'opener-property-tagger', '>= 3.4.0'
|
39
|
+
spec.add_dependency 'opener-polarity-tagger', '>= 3.4.0'
|
40
40
|
spec.add_dependency 'opener-opinion-detector-basic', '>= 3.2.3'
|
41
41
|
|
42
42
|
spec.add_development_dependency 'bundler', '~> 1.3'
|
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: 3.
|
4
|
+
version: 3.3.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:
|
11
|
+
date: 2021-02-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -179,33 +179,33 @@ dependencies:
|
|
179
179
|
- !ruby/object:Gem::Version
|
180
180
|
version: 3.2.0
|
181
181
|
- !ruby/object:Gem::Dependency
|
182
|
-
name: opener-
|
182
|
+
name: opener-property-tagger
|
183
183
|
requirement: !ruby/object:Gem::Requirement
|
184
184
|
requirements:
|
185
185
|
- - ">="
|
186
186
|
- !ruby/object:Gem::Version
|
187
|
-
version: 3.
|
187
|
+
version: 3.4.0
|
188
188
|
type: :runtime
|
189
189
|
prerelease: false
|
190
190
|
version_requirements: !ruby/object:Gem::Requirement
|
191
191
|
requirements:
|
192
192
|
- - ">="
|
193
193
|
- !ruby/object:Gem::Version
|
194
|
-
version: 3.
|
194
|
+
version: 3.4.0
|
195
195
|
- !ruby/object:Gem::Dependency
|
196
|
-
name: opener-
|
196
|
+
name: opener-polarity-tagger
|
197
197
|
requirement: !ruby/object:Gem::Requirement
|
198
198
|
requirements:
|
199
199
|
- - ">="
|
200
200
|
- !ruby/object:Gem::Version
|
201
|
-
version: 3.
|
201
|
+
version: 3.4.0
|
202
202
|
type: :runtime
|
203
203
|
prerelease: false
|
204
204
|
version_requirements: !ruby/object:Gem::Requirement
|
205
205
|
requirements:
|
206
206
|
- - ">="
|
207
207
|
- !ruby/object:Gem::Version
|
208
|
-
version: 3.
|
208
|
+
version: 3.4.0
|
209
209
|
- !ruby/object:Gem::Dependency
|
210
210
|
name: opener-opinion-detector-basic
|
211
211
|
requirement: !ruby/object:Gem::Requirement
|
@@ -308,9 +308,9 @@ description: OpeNER daemon for processing multiple queues at once
|
|
308
308
|
email:
|
309
309
|
executables:
|
310
310
|
- chained-daemon
|
311
|
-
- chained-daemon-daemon
|
312
311
|
- chained-daemon-csv
|
313
312
|
- console
|
313
|
+
- chained-daemon-daemon
|
314
314
|
extensions: []
|
315
315
|
extra_rdoc_files: []
|
316
316
|
files:
|
@@ -331,6 +331,7 @@ files:
|
|
331
331
|
- lib/opener/kaf/term.rb
|
332
332
|
- lib/opener/kaf/text.rb
|
333
333
|
- lib/opener/stanza/tokenizer_pos.rb
|
334
|
+
- lib/opener/sym_mash.rb
|
334
335
|
- opener-chained-daemon.gemspec
|
335
336
|
homepage:
|
336
337
|
licenses:
|
@@ -352,7 +353,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
352
353
|
version: '0'
|
353
354
|
requirements: []
|
354
355
|
rubyforge_project:
|
355
|
-
rubygems_version: 2.7.
|
356
|
+
rubygems_version: 2.7.8
|
356
357
|
signing_key:
|
357
358
|
specification_version: 4
|
358
359
|
summary: OpeNER daemon for processing multiple queues at once
|