opener-constituent-parser 1.0.2 → 1.0.3

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
  SHA1:
3
- metadata.gz: dae57ceef64bb3e1ce2c766652fd6b476b0a024c
4
- data.tar.gz: 7070cade2986bad758ad59c14187b71290c702a5
3
+ metadata.gz: e5506deaf6d8ebefd3dd12e06dddd200cb9472ff
4
+ data.tar.gz: 4954e4e2d72c7bca37921a482009f5d2277a016d
5
5
  SHA512:
6
- metadata.gz: 7856fc3804f5773dd74eaa48c0868c97c43b474f280ce99a94c486faac3341ea5dc8fd0db6e80607faacf74a363c27ae90c0c5084c1dc23a8e080f6e91c737ea
7
- data.tar.gz: e47a15d0bb98b0a9b5d7f6c69628d6b4e75a93356d63138bf6fda1dbff5a63b100b12ab38d277981f21556bc0fe7550ba0927e9341c7b0881d5e8aa82fc1f17a
6
+ metadata.gz: b0f5be32685632f257a600d495cec2946fa31cc8ceecce5d7eac03dc223d1dbdc3d8cb87172e076f60591244f7569fb5aa682337ed63953e778291fef8aee279
7
+ data.tar.gz: 62663585a33047e15df4be0f2292fc4c86c75006e90e17decd824e63f32d9f66279c22e4f06826f770212442198a3a90404f8696b217c43056ff5fca2db6ace0
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'opener/daemons'
4
+
5
+ exec_path = File.expand_path('../../exec/constituent-parser.rb', __FILE__)
6
+
7
+ Opener::Daemons::Controller.new(
8
+ :name => 'constituent-parser',
9
+ :exec_path => exec_path
10
+ )
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'opener/daemons'
4
+ require_relative '../lib/opener/constituent_parser'
5
+
6
+ options = Opener::Daemons::OptParser.parse!(ARGV)
7
+ daemon = Opener::Daemons::Daemon.new(Opener::ConstituentParser, options)
8
+
9
+ daemon.start
@@ -1,5 +1,6 @@
1
1
  require 'open3'
2
2
  require 'optparse'
3
+ require 'nokogiri'
3
4
  require 'opener/constituent_parsers/base'
4
5
 
5
6
  require_relative 'constituent_parser/version'
@@ -15,13 +16,6 @@ module Opener
15
16
  class ConstituentParser
16
17
  attr_reader :options
17
18
 
18
- ##
19
- # Returns the default language to use.
20
- #
21
- # @return [String]
22
- #
23
- DEFAULT_LANGUAGE = 'en'.freeze
24
-
25
19
  ##
26
20
  # Hash containing the default options to use.
27
21
  #
@@ -29,7 +23,6 @@ module Opener
29
23
  #
30
24
  DEFAULT_OPTIONS = {
31
25
  :args => [],
32
- :language => DEFAULT_LANGUAGE
33
26
  }.freeze
34
27
 
35
28
  ##
@@ -49,13 +42,13 @@ module Opener
49
42
  #
50
43
  def run(input)
51
44
  args = options[:args].dup
52
-
53
- if language_constant_defined?
54
- kernel = language_constant.new(:args => args)
45
+ language = language(input)
46
+ if language_constant_defined?(language)
47
+ kernel = language_constant(language).new(:args => args)
55
48
  else
56
49
  kernel = ConstituentParsers::Base.new(
57
50
  :args => args,
58
- :language => options[:language]
51
+ :language => language
59
52
  )
60
53
  end
61
54
 
@@ -66,7 +59,7 @@ module Opener
66
59
  # @return [String]
67
60
  #
68
61
  def output_type
69
- return 'text/plain'
62
+ return :xml
70
63
  end
71
64
 
72
65
  protected
@@ -77,22 +70,25 @@ module Opener
77
70
  #
78
71
  # @return [TrueClass|FalseClass]
79
72
  #
80
- def language_constant_defined?
81
- return ConstituentParsers.const_defined?(language_constant_name)
73
+ def language_constant_defined?(language)
74
+ return ConstituentParsers.const_defined?(language.upcase)
82
75
  end
83
76
 
84
77
  ##
85
- # @return [String]
78
+ # @return [Class]
86
79
  #
87
- def language_constant_name
88
- return options[:language].upcase
80
+ def language_constant(language)
81
+ return ConstituentParsers.const_get(language.upcase)
89
82
  end
90
-
83
+
91
84
  ##
92
- # @return [Class]
85
+ # @return the language from the KAF
93
86
  #
94
- def language_constant
95
- return ConstituentParsers.const_get(language_constant_name)
87
+ def language(input)
88
+ document = Nokogiri::XML(input)
89
+ language = document.at('KAF').attr('xml:lang')
90
+
91
+ return language
96
92
  end
97
93
  end # ConstituentParser
98
94
  end # Opener
@@ -1,5 +1,5 @@
1
1
  module Opener
2
2
  class ConstituentParser
3
- VERSION = '1.0.2'
3
+ VERSION = '1.0.3'
4
4
  end # ConstituentParser
5
5
  end # Opener
@@ -24,20 +24,6 @@
24
24
  <textarea id="input" name="input" cols="50" rows="10"></textarea>
25
25
  </div>
26
26
 
27
- <div>
28
- <label for="language">Language</label>
29
- <br />
30
-
31
- <select id="language" name="language">
32
- <option value="nl">Dutch</option>
33
- <option value="en">English</option>
34
- <option value="fr">French</option>
35
- <option value="de">German</option>
36
- <option value="it">Italian</option>
37
- <option value="es">Spanish</option>
38
- </select>
39
- </div>
40
-
41
27
  <% 5.times do |number| %>
42
28
 
43
29
  <div>
@@ -75,9 +61,6 @@
75
61
  <dt>text *</dt>
76
62
  <dd>The KAF document to process.</dd>
77
63
 
78
- <dt>language</dt>
79
- <dd>The language (code) to use, e.g. "en" or "fr".</dd>
80
-
81
64
  <dt>callbacks</dt>
82
65
  <dd>A collection of callback URLs that are processed as a chain.</dd>
83
66
 
@@ -14,6 +14,7 @@ Gem::Specification.new do |gem|
14
14
  'lib/**/*.*',
15
15
  '*.gemspec',
16
16
  'README.md',
17
+ 'exec/**/*',
17
18
  'config.ru'
18
19
  ])
19
20
 
@@ -22,6 +23,9 @@ Gem::Specification.new do |gem|
22
23
  gem.add_dependency 'opener-webservice'
23
24
  gem.add_dependency 'opener-constituent-parser-base', '>= 0.1.0'
24
25
  gem.add_dependency 'puma'
26
+ gem.add_dependency 'nokogiri'
27
+ gem.add_dependency 'opener-daemons'
28
+ gem.add_dependency 'opener-core', ['>= 0.1.2']
25
29
 
26
30
  gem.add_development_dependency 'opener-build-tools'
27
31
  gem.add_development_dependency 'rake'
metadata CHANGED
@@ -1,97 +1,142 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opener-constituent-parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
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: 2014-05-20 00:00:00.000000000 Z
11
+ date: 2014-05-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: opener-webservice
15
- requirement: !ruby/object:Gem::Requirement
15
+ version_requirements: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
20
+ requirement: !ruby/object:Gem::Requirement
23
21
  requirements:
24
- - - ">="
22
+ - - '>='
25
23
  - !ruby/object:Gem::Version
26
24
  version: '0'
25
+ prerelease: false
26
+ type: :runtime
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: opener-constituent-parser-base
29
- requirement: !ruby/object:Gem::Requirement
29
+ version_requirements: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - '>='
32
32
  - !ruby/object:Gem::Version
33
33
  version: 0.1.0
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
34
+ requirement: !ruby/object:Gem::Requirement
37
35
  requirements:
38
- - - ">="
36
+ - - '>='
39
37
  - !ruby/object:Gem::Version
40
38
  version: 0.1.0
39
+ prerelease: false
40
+ type: :runtime
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: puma
43
+ version_requirements: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
43
48
  requirement: !ruby/object:Gem::Requirement
44
49
  requirements:
45
- - - ">="
50
+ - - '>='
46
51
  - !ruby/object:Gem::Version
47
52
  version: '0'
48
- type: :runtime
49
53
  prerelease: false
54
+ type: :runtime
55
+ - !ruby/object:Gem::Dependency
56
+ name: nokogiri
50
57
  version_requirements: !ruby/object:Gem::Requirement
51
58
  requirements:
52
- - - ">="
59
+ - - '>='
53
60
  - !ruby/object:Gem::Version
54
61
  version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: opener-build-tools
57
62
  requirement: !ruby/object:Gem::Requirement
58
63
  requirements:
59
- - - ">="
64
+ - - '>='
60
65
  - !ruby/object:Gem::Version
61
66
  version: '0'
62
- type: :development
63
67
  prerelease: false
68
+ type: :runtime
69
+ - !ruby/object:Gem::Dependency
70
+ name: opener-daemons
64
71
  version_requirements: !ruby/object:Gem::Requirement
65
72
  requirements:
66
- - - ">="
73
+ - - '>='
67
74
  - !ruby/object:Gem::Version
68
75
  version: '0'
76
+ requirement: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - '>='
79
+ - !ruby/object:Gem::Version
80
+ version: '0'
81
+ prerelease: false
82
+ type: :runtime
69
83
  - !ruby/object:Gem::Dependency
70
- name: rake
84
+ name: opener-core
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '>='
88
+ - !ruby/object:Gem::Version
89
+ version: 0.1.2
71
90
  requirement: !ruby/object:Gem::Requirement
72
91
  requirements:
73
- - - ">="
92
+ - - '>='
93
+ - !ruby/object:Gem::Version
94
+ version: 0.1.2
95
+ prerelease: false
96
+ type: :runtime
97
+ - !ruby/object:Gem::Dependency
98
+ name: opener-build-tools
99
+ version_requirements: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '>='
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ requirement: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - '>='
74
107
  - !ruby/object:Gem::Version
75
108
  version: '0'
76
- type: :development
77
109
  prerelease: false
110
+ type: :development
111
+ - !ruby/object:Gem::Dependency
112
+ name: rake
78
113
  version_requirements: !ruby/object:Gem::Requirement
79
114
  requirements:
80
- - - ">="
115
+ - - '>='
81
116
  - !ruby/object:Gem::Version
82
117
  version: '0'
118
+ requirement: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - '>='
121
+ - !ruby/object:Gem::Version
122
+ version: '0'
123
+ prerelease: false
124
+ type: :development
83
125
  description: Constituent parser including a webservice.
84
- email:
126
+ email:
85
127
  executables:
86
128
  - constituent-parser
129
+ - constituent-parser-daemon
87
130
  - constituent-parser-server
88
131
  extensions: []
89
132
  extra_rdoc_files: []
90
133
  files:
91
134
  - README.md
92
135
  - bin/constituent-parser
136
+ - bin/constituent-parser-daemon
93
137
  - bin/constituent-parser-server
94
138
  - config.ru
139
+ - exec/constituent-parser.rb
95
140
  - lib/opener/constituent_parser.rb
96
141
  - lib/opener/constituent_parser/cli.rb
97
142
  - lib/opener/constituent_parser/public/markdown.css
@@ -99,28 +144,27 @@ files:
99
144
  - lib/opener/constituent_parser/version.rb
100
145
  - lib/opener/constituent_parser/views/index.erb
101
146
  - opener-constituent-parser.gemspec
102
- homepage:
147
+ homepage:
103
148
  licenses: []
104
149
  metadata: {}
105
- post_install_message:
150
+ post_install_message:
106
151
  rdoc_options: []
107
152
  require_paths:
108
153
  - lib
109
154
  required_ruby_version: !ruby/object:Gem::Requirement
110
155
  requirements:
111
- - - ">="
156
+ - - '>='
112
157
  - !ruby/object:Gem::Version
113
158
  version: 1.9.2
114
159
  required_rubygems_version: !ruby/object:Gem::Requirement
115
160
  requirements:
116
- - - ">="
161
+ - - '>='
117
162
  - !ruby/object:Gem::Version
118
163
  version: '0'
119
164
  requirements: []
120
- rubyforge_project:
165
+ rubyforge_project:
121
166
  rubygems_version: 2.2.2
122
- signing_key:
167
+ signing_key:
123
168
  specification_version: 4
124
169
  summary: Constituent parser including a webservice.
125
170
  test_files: []
126
- has_rdoc: yard