libis-format 1.2.6 → 1.2.7

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
  SHA256:
3
- metadata.gz: 703d88e70d66ce9cc627d87f933393c63fd73d02e39c747ffe35233286d88bdc
4
- data.tar.gz: a11d05c5f03dae0fcfd31c1c38511febf2344decc2c7e548e521afa6ffd5c54f
3
+ metadata.gz: a1b5fdec2f726d83572f66f78b361b8500247bcf5bdcce56e633998b88758bc4
4
+ data.tar.gz: 0b09d4cc45338b9c1060c89d80f94ad171e8d2bc43da17b20cd2357521ef78f4
5
5
  SHA512:
6
- metadata.gz: 1d4b2ec090f1e03330926040c8238da70b77c4af578b81a82456507a46bceeef7a9edbc91919191f6928f4903e2e6b81862ae4fd6b21221d73848039e7ad3bea
7
- data.tar.gz: 2b6d4040121d50e088566a878439ce2dde1b0805f06fcb727e9b58812f8ab9751b2747c01187025d0baa0582e9b40f853f21474531a58de2ee83827f365d9265
6
+ metadata.gz: 5ad4a140bfa6bedf2d7b915ec1a51b23fd9b4efdacf468e1cae1505a54c72b0733c6ee3d20981347da3f9fae8a8656416a953754bdc893decb8021f40a58b499
7
+ data.tar.gz: '0854af4151b126b6d2cb3d8fdd04c2186dcd5dac294b9a800db0256ed0955c3f1d86d54853ea39fbb295fdf5f71d7a016e6e49e71988e3c7f7c595f5a1c9a33e'
@@ -5,7 +5,10 @@ require 'rfc_2047'
5
5
  require 'cgi'
6
6
  require 'pdfkit'
7
7
 
8
+ require 'time'
9
+
8
10
  require 'fileutils'
11
+ require 'pathname'
9
12
 
10
13
  require 'libis/format/config'
11
14
 
@@ -52,7 +55,7 @@ module Libis
52
55
  result
53
56
  end
54
57
 
55
- def msg_to_pdf(msg, target, target_format, pdf_options, reraise: false)
58
+ def msg_to_pdf(msg, target, target_format, pdf_options, root_msg: true)
56
59
 
57
60
  # Make sure the target directory exists
58
61
  outdir = File.dirname(target)
@@ -116,6 +119,11 @@ module Libis
116
119
  end
117
120
  end
118
121
 
122
+ [:date].each do |key|
123
+ next unless headers[key]
124
+ headers[key] = DateTime.parse(headers[key]).to_time.localtime.iso8601
125
+ end
126
+
119
127
  # Add header section to the HTML body
120
128
  unless hdr_html.empty?
121
129
  # Insert header block styles
@@ -204,9 +212,9 @@ module Libis
204
212
  if sub_msg = a.instance_variable_get(:@embedded_msg)
205
213
  # puts "Embedded email message ..."
206
214
  subject = a.properties[:display_name] || sub_msg.subject || ""
207
- file = File.join(outdir, "#{prefix}#{subject}.#{target_format.to_s.downcase}")
215
+ file = File.join(outdir, "#{prefix}#{subject}.msg.#{target_format.to_s.downcase}")
208
216
 
209
- result = msg_to_pdf(sub_msg, file, target_format, pdf_options, reraise: true)
217
+ result = msg_to_pdf(sub_msg, file, target_format, pdf_options, root_msg: false)
210
218
  if e = result[:error]
211
219
  raise
212
220
  end
@@ -225,6 +233,13 @@ module Libis
225
233
  end
226
234
  i += 1
227
235
  end
236
+
237
+ if root_msg
238
+ p = Pathname(File.dirname(files.first))
239
+ files[1..].each do |f|
240
+ (headers[:attachments] ||= []) << Pathname.new(f).relative_path_from(p).to_s
241
+ end
242
+ end
228
243
 
229
244
  {
230
245
  command: {status: 0},
@@ -236,7 +251,7 @@ module Libis
236
251
  rescue Exception => e
237
252
  # puts "ERROR: Exception #{e.class} raised: #{e.message}"
238
253
  # e.backtrace.each {|t| puts " - #{t}"}
239
- raise if reraise
254
+ raise unless root_msg
240
255
  msg.close
241
256
  return {
242
257
  command: {status: -1},
@@ -1,5 +1,5 @@
1
1
  module Libis
2
2
  module Format
3
- VERSION = '1.2.6'
3
+ VERSION = '1.2.7'
4
4
  end
5
5
  end
data/libis-format.gemspec CHANGED
@@ -40,7 +40,7 @@ Gem::Specification.new do |spec|
40
40
  spec.add_runtime_dependency 'chromaprint', '~> 0.0.2'
41
41
  spec.add_runtime_dependency 'naturally', '~> 2.1'
42
42
  spec.add_runtime_dependency 'pdfinfo', '~> 1.4'
43
- spec.add_runtime_dependency 'ruby-msg-nx'
43
+ spec.add_runtime_dependency 'libis-mapi', '~> 0.3'
44
44
  spec.add_runtime_dependency 'new_rfc_2047'
45
45
  spec.add_runtime_dependency 'pdfkit'
46
46
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libis-format
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.6
4
+ version: 1.2.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kris Dekeyser
@@ -179,19 +179,19 @@ dependencies:
179
179
  - !ruby/object:Gem::Version
180
180
  version: '1.4'
181
181
  - !ruby/object:Gem::Dependency
182
- name: ruby-msg-nx
182
+ name: libis-mapi
183
183
  requirement: !ruby/object:Gem::Requirement
184
184
  requirements:
185
- - - ">="
185
+ - - "~>"
186
186
  - !ruby/object:Gem::Version
187
- version: '0'
187
+ version: '0.3'
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: '0'
194
+ version: '0.3'
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: new_rfc_2047
197
197
  requirement: !ruby/object:Gem::Requirement