chupa-text-decomposer-libreoffice 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 2001a39bf2303c6f3a1621581f69405f0c0c670a
4
- data.tar.gz: 427f1a189a7bd80ac61c1789953bc216156f8bf2
2
+ SHA256:
3
+ metadata.gz: 5a4cebc4c301e01567236b782b186fbb89b0828b229744c46a9bb03e04adf954
4
+ data.tar.gz: 6220a482e2a218cc46018467ce0ecec4a7efb8669dc30a691076622338378ba6
5
5
  SHA512:
6
- metadata.gz: 6f9a24668f372493805ca048a6e8f7d0d8da249e9290d5e8c32970bb2d3d86af45af7a19469adfe92e909d095d034493413d471e769d51cdf3dfbe9d0ba716ac
7
- data.tar.gz: '079894b7ca1f54757848b75e5037b26e9370834eb576a8ae59c66cfb88b27adc860c979e3f7eee3e15b0270af8a668de188e34e0d4f89702995257f8421e01c8'
6
+ metadata.gz: a01ff0f8c14b3bff084145b978dfa8fa3cd936eb3aef6bafe61dac0c5127b04446fec9c75722ef2bb5b02ca840cac21e293a98fb8f81ba15ec245d2eb4ad53f1
7
+ data.tar.gz: 0c001dc26e769a10b8f6f62172bb364cc4e0e58dc5a3e9040be63fbd2a8e99cab0f63c5ff13b54fd46b75e5e285cbbfce3ad4ea6c5c0c1e0a7a6624ec85396dd
@@ -22,7 +22,7 @@ end
22
22
 
23
23
  Gem::Specification.new do |spec|
24
24
  spec.name = "chupa-text-decomposer-libreoffice"
25
- spec.version = "1.0.1"
25
+ spec.version = "1.0.2"
26
26
  spec.homepage = "https://github.com/ranguba/chupa-text-decomposer-libreoffice"
27
27
  spec.authors = ["Kouhei Sutou"]
28
28
  spec.email = ["kou@clear-code.com"]
@@ -41,6 +41,7 @@ Gem::Specification.new do |spec|
41
41
 
42
42
  spec.requirements << "LibreOffice"
43
43
 
44
+ spec.add_runtime_dependency("chupa-text", ">= 1.0.9")
44
45
  spec.add_runtime_dependency("chupa-text-decomposer-pdf")
45
46
 
46
47
  spec.add_development_dependency("bundler")
@@ -1,5 +1,11 @@
1
1
  # News
2
2
 
3
+ ## 1.0.2: 2018-07-18
4
+
5
+ ### Improvements
6
+
7
+ * Added support for ChupaText 1.0.9 or later.
8
+
3
9
  ## 1.0.1: 2017-07-06
4
10
 
5
11
  ### Improvements
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2014 Kouhei Sutou <kou@clear-code.com>
1
+ # Copyright (C) 2014-2017 Kouhei Sutou <kou@clear-code.com>
2
2
  #
3
3
  # This library is free software; you can redistribute it and/or
4
4
  # modify it under the terms of the GNU Lesser General Public
@@ -20,11 +20,20 @@ require "tmpdir"
20
20
  module ChupaText
21
21
  module Decomposers
22
22
  class LibreOffice < Decomposer
23
+ include Loggable
24
+
23
25
  registry.register("libreoffice", self)
24
26
 
25
27
  def initialize(options)
26
28
  super
27
29
  @command = find_command
30
+ debug do
31
+ if @command
32
+ "#{log_tag}[command][found] #{@command.path}"
33
+ else
34
+ "#{log_tag}[command][not-found]"
35
+ end
36
+ end
28
37
  end
29
38
 
30
39
  TARGET_EXTENSIONS = [
@@ -89,7 +98,7 @@ module ChupaText
89
98
  def convert_to_pdf(data)
90
99
  Dir.mktmpdir do |temporary_directory|
91
100
  output = Tempfile.new("chupa-text-decomposer-libreoffice-output")
92
- error = Tempfile.new("chupa-text-decomposer-libreoffice-error")
101
+ error_output = Tempfile.new("chupa-text-decomposer-libreoffice-error")
93
102
  succeeded = @command.run("--headless",
94
103
  "--nologo",
95
104
  "--convert-to", "pdf",
@@ -98,35 +107,44 @@ module ChupaText
98
107
  {
99
108
  :spawn_options => {
100
109
  :out => output.path,
101
- :err => error.path,
110
+ :err => error_output.path,
102
111
  },
103
112
  })
104
113
  unless succeeded
105
- tag = "[decomposer][libreoffice][convert][exited][abnormally]"
106
- message = [
107
- tag,
108
- "output: <#{output.read}>",
109
- "error: <#{error.read}>",
110
- ].join("\n")
111
- ChupaText.logger.error(message)
114
+ error do
115
+ tag = "#{log_tag}[convert][exited][abnormally]"
116
+ [
117
+ tag,
118
+ "output: <#{output.read}>",
119
+ "error: <#{error_output.read}>",
120
+ ].join("\n")
121
+ end
112
122
  return nil
113
123
  end
114
124
  pdf_path, = Dir.glob("#{temporary_directory}/*.pdf")
115
125
  if pdf_path.nil?
116
- tag = "[decomposer][libreoffice][convert][failed]"
117
- message = [
118
- "#{tag}: LibreOffice may be running",
119
- "output: <#{output.read}>",
120
- "error: <#{error.read}>",
121
- ].join("\n")
122
- ChupaText.logger.error(message)
126
+ error do
127
+ tag = "#{log_tag}[convert][failed]"
128
+ message = [
129
+ "#{tag}: LibreOffice may be running",
130
+ "output: <#{output.read}>",
131
+ "error: <#{error_output.read}>",
132
+ ].join("\n")
133
+ end
123
134
  return nil
124
135
  end
136
+ normalized_pdf_uri = data.uri.to_s.gsub(/\.[^.]+\z/, ".pdf")
125
137
  File.open(pdf_path, "rb") do |pdf|
126
- ChupaText::VirtualFileData.new(pdf_path, pdf, :source_data => data)
138
+ ChupaText::VirtualFileData.new(normalized_pdf_uri,
139
+ pdf,
140
+ :source_data => data)
127
141
  end
128
142
  end
129
143
  end
144
+
145
+ def log_tag
146
+ "[decomposer][libreoffice]"
147
+ end
130
148
  end
131
149
  end
132
150
  end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chupa-text-decomposer-libreoffice
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kouhei Sutou
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-07-06 00:00:00.000000000 Z
11
+ date: 2018-07-18 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: chupa-text
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 1.0.9
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 1.0.9
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: chupa-text-decomposer-pdf
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -177,7 +191,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
177
191
  requirements:
178
192
  - LibreOffice
179
193
  rubyforge_project:
180
- rubygems_version: 2.5.2
194
+ rubygems_version: 2.7.6
181
195
  signing_key:
182
196
  specification_version: 4
183
197
  summary: This is a ChupaText decomposer plugin for to extract text and meta-data from