libreconv 0.9.0 → 0.9.1

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
2
  SHA1:
3
- metadata.gz: 14a16a3e394c4ba9f9d7f69656286f2cdd309a07
4
- data.tar.gz: f2768dd2c7905a798f24b62e107270430f37dd57
3
+ metadata.gz: 522fce89fe66792d062925292ab1104b4c4d4c7e
4
+ data.tar.gz: 7c2f41f839955d1900417339bdf4be23833debaf
5
5
  SHA512:
6
- metadata.gz: 07d5b921a16008271f6a4eaf5ed074279e3ab47199fe694ab5b96d9608e8f322f4c4297a1f3119c436bb2701c16a691050a29ce9efbeca4fa24c4991e2a9b676
7
- data.tar.gz: 04805b8bf5fd94960161f22c2d9635ddb8361990059e18fdfb2d61758ead3030292c16b261550c28ece1531739e930dbf564bd7da39400c3eb4aa56a7b605c17
6
+ metadata.gz: 8d9b40454b77418914765b032a54e6c41f1e995a28ac411d61f13f558ea14ce740ee7414a5b2e700bb3d7d8fb7467e30e461698e4add05e45d712fdd11178a3e
7
+ data.tar.gz: 4913f63b22d7da58a2eec6a3f5f909e10a4f074e1cfe51d32a872b43a8ec7c604d44702ba4101af0c3a7c505706845b4a6ec3598f702c9e23328eb65e2e7a30a
data/.gitignore CHANGED
@@ -15,6 +15,7 @@ spec/reports
15
15
  test/tmp
16
16
  test/version_tmp
17
17
  tmp
18
+ .idea/
18
19
 
19
20
  TODO.md
20
21
 
data/.travis.yml CHANGED
@@ -1,12 +1,10 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 1.9.3
4
- - 2.0.0
5
3
  - 2.1.1
6
- - jruby-19mode
7
- - jruby-head
4
+ - 2.2.2
8
5
  notifications:
9
6
  recipients:
10
- - ricny046@gmail.com
7
+ - ricn@rny.io
11
8
  before_install:
9
+ - sudo apt-get update -qq
12
10
  - sudo apt-get install libreoffice
data/README.md CHANGED
@@ -1,9 +1,10 @@
1
1
  # Libreconv
2
2
 
3
- Convert office documents to PDF using LibreOffice / OpenOffice.
3
+ Convert office documents using LibreOffice / OpenOffice to one of their supported formats.
4
4
 
5
5
  [![Code Climate](https://codeclimate.com/github/ricn/libreconv.png)](https://codeclimate.com/github/ricn/libreconv)
6
6
  [![Build Status](https://travis-ci.org/ricn/libreconv.png?branch=master)](https://travis-ci.org/ricn/libreconv)
7
+ [![Gem Version](https://badge.fury.io/rb/libreconv.svg)](http://badge.fury.io/rb/libreconv)
7
8
 
8
9
  ## Installation
9
10
 
@@ -41,6 +42,12 @@ Libreconv.convert('http://myserver.com/123/document.docx', '/Users/ricn/pdf_docu
41
42
  # If you for some reason can't have soffice in your PATH you can specifiy the file path to the soffice binary
42
43
  Libreconv.convert('document.docx', '/Users/ricn/pdf_documents', '/Applications/LibreOffice.app/Contents/MacOS/soffice')
43
44
 
45
+ # Converts document.docx to my_document_as.html
46
+ Libreconv.convert('document.docx', '/Users/ricn/pdf_documents/my_document_as.html', nil, 'html')
47
+
48
+ # Converts document.docx to my_document_as.pdf using writer_pdf_Export filter
49
+ Libreconv.convert('document.docx', '/Users/ricn/pdf_documents/my_document_as.pdf', nil, 'pdf:writer_pdf_Export')
50
+
44
51
  ```
45
52
 
46
53
  ## Credits
data/lib/libreconv.rb CHANGED
@@ -6,18 +6,19 @@ require "spoon"
6
6
 
7
7
  module Libreconv
8
8
 
9
- def self.convert(source, target, soffice_command = nil)
10
- Converter.new(source, target, soffice_command).convert
9
+ def self.convert(source, target, soffice_command = nil, convert_to = nil)
10
+ Converter.new(source, target, soffice_command, convert_to).convert
11
11
  end
12
12
 
13
13
  class Converter
14
14
  attr_accessor :soffice_command
15
15
 
16
- def initialize(source, target, soffice_command = nil)
16
+ def initialize(source, target, soffice_command = nil, convert_to = nil)
17
17
  @source = source
18
18
  @target = target
19
19
  @target_path = Dir.tmpdir
20
20
  @soffice_command = soffice_command
21
+ @convert_to = convert_to || "pdf"
21
22
  determine_soffice_command
22
23
  check_source_type
23
24
 
@@ -29,10 +30,10 @@ module Libreconv
29
30
  def convert
30
31
  orig_stdout = $stdout.clone
31
32
  $stdout.reopen File.new('/dev/null', 'w')
32
- pid = Spoon.spawnp(@soffice_command, "--headless", "--convert-to", "pdf", @source, "--outdir", @target_path)
33
+ pid = Spoon.spawnp(@soffice_command, "--headless", "--convert-to", @convert_to, @source, "--outdir", @target_path)
33
34
  Process.waitpid(pid)
34
35
  $stdout.reopen orig_stdout
35
- target_tmp_file = "#{@target_path}/#{File.basename(@source, ".*")}.pdf"
36
+ target_tmp_file = "#{@target_path}/#{File.basename(@source, ".*")}.#{File.basename(@convert_to, ":*")}"
36
37
  FileUtils.cp target_tmp_file, @target
37
38
  end
38
39
 
@@ -58,10 +59,10 @@ module Libreconv
58
59
  end
59
60
 
60
61
  def check_source_type
61
- is_file = File.exists?(@source) && !File.directory?(@source)
62
- is_http = URI(@source).scheme == "http" && Net::HTTP.get_response(URI(@source)).is_a?(Net::HTTPSuccess)
63
- is_https = URI(@source).scheme == "https" && Net::HTTP.get_response(URI(@source)).is_a?(Net::HTTPSuccess)
64
- raise IOError, "Source (#{@source}) is neither a file nor an URL." unless is_file || is_http || is_https
62
+ return if File.exists?(@source) && !File.directory?(@source) #file
63
+ return if URI(@source).scheme == "http" && Net::HTTP.get_response(URI(@source)).is_a?(Net::HTTPSuccess) #http
64
+ return if URI(@source).scheme == "https" && Net::HTTP.get_response(URI(@source)).is_a?(Net::HTTPSuccess) #https
65
+ raise IOError, "Source (#{@source}) is neither a file nor an URL."
65
66
  end
66
67
  end
67
- end
68
+ end
@@ -1,3 +1,3 @@
1
1
  module Libreconv
2
- VERSION = "0.9.0"
2
+ VERSION = "0.9.1"
3
3
  end
data/libreconv.gemspec CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
  spec.add_dependency "spoon"
21
- spec.add_development_dependency "bundler", "~> 1.6.0.rc2"
21
+ spec.add_development_dependency "bundler", ">= 0"
22
22
  spec.add_development_dependency "rake"
23
- spec.add_development_dependency "rspec", "~> 3.0.0.rc1"
23
+ spec.add_development_dependency "rspec", "~> 3.2.0"
24
24
  end
metadata CHANGED
@@ -1,81 +1,81 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libreconv
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Nyström
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-31 00:00:00.000000000 Z
11
+ date: 2015-07-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: spoon
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - '>='
32
32
  - !ruby/object:Gem::Version
33
- version: 1.6.0.rc2
33
+ version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - '>='
39
39
  - !ruby/object:Gem::Version
40
- version: 1.6.0.rc2
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - '>='
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - '>='
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ~>
60
60
  - !ruby/object:Gem::Version
61
- version: 3.0.0.rc1
61
+ version: 3.2.0
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ~>
67
67
  - !ruby/object:Gem::Version
68
- version: 3.0.0.rc1
69
- description: " Convert office documents to PDF using LibreOffice. "
68
+ version: 3.2.0
69
+ description: ' Convert office documents to PDF using LibreOffice. '
70
70
  email:
71
71
  - ricny046@gmail.com
72
72
  executables: []
73
73
  extensions: []
74
74
  extra_rdoc_files: []
75
75
  files:
76
- - ".gitignore"
77
- - ".rspec"
78
- - ".travis.yml"
76
+ - .gitignore
77
+ - .rspec
78
+ - .travis.yml
79
79
  - Gemfile
80
80
  - LICENSE.txt
81
81
  - README.md
@@ -100,17 +100,17 @@ require_paths:
100
100
  - lib
101
101
  required_ruby_version: !ruby/object:Gem::Requirement
102
102
  requirements:
103
- - - ">="
103
+ - - '>='
104
104
  - !ruby/object:Gem::Version
105
105
  version: '0'
106
106
  required_rubygems_version: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ">="
108
+ - - '>='
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  requirements: []
112
112
  rubyforge_project:
113
- rubygems_version: 2.2.2
113
+ rubygems_version: 2.0.14
114
114
  signing_key:
115
115
  specification_version: 4
116
116
  summary: Convert office documents to PDF.