libreconv 0.5.0 → 0.6.0
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 +4 -4
- data/README.md +4 -1
- data/lib/libreconv/version.rb +1 -1
- data/lib/libreconv.rb +15 -4
- data/spec/libreconv_spec.rb +9 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1c0b2e8c36829fb01420f9da4efb0cd1565d7a65
|
4
|
+
data.tar.gz: 940540e2e7786e7834d8aa7fed9ec7cc845a2fec
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b6126da8cda5ccd76b8585f5c9511349578c6713e77e67968d2d0aca2d4b6166b2c2d2061744781d79b68adf638e36769f1b5a9ce954ad59751057fcced3141d
|
7
|
+
data.tar.gz: 09148e1e93cde05f3fb30b58e6774b61a73b73fe9abb92c6911fca799e659c964a8ddc8cc81b1a1709250d0bbbb55031e210790cf67a7735d64b79b503270767
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Libreconv
|
2
2
|
|
3
|
-
Convert office documents to PDF using LibreOffice / OpenOffice
|
3
|
+
Convert office documents to PDF using LibreOffice / OpenOffice.
|
4
4
|
|
5
5
|
[](https://codeclimate.com/github/ricn/libreconv)
|
6
6
|
|
@@ -29,6 +29,9 @@ require 'libreconv'
|
|
29
29
|
# This requires that the soffice binary is present in your PATH.
|
30
30
|
Libreconv.convert('document.docx', '/Users/ricn/pdf_documents')
|
31
31
|
|
32
|
+
# You can also convert a source file directly from an URL
|
33
|
+
Libreconv.convert('http://myserver.com/123/document.docx', '/Users/ricn/pdf_documents')
|
34
|
+
|
32
35
|
# Converts document.docx to document.pdf
|
33
36
|
# If you for some reason can't have soffice in your PATH you can specifiy the file path to the soffice binary
|
34
37
|
Libreconv.convert('document.docx', '/Users/ricn/pdf_documents', '/Applications/LibreOffice.app/Contents/MacOS/soffice')
|
data/lib/libreconv/version.rb
CHANGED
data/lib/libreconv.rb
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
require "libreconv/version"
|
2
|
+
require "uri"
|
3
|
+
require "net/http"
|
2
4
|
|
3
5
|
module Libreconv
|
4
6
|
|
@@ -14,14 +16,11 @@ module Libreconv
|
|
14
16
|
@target_path = target_path
|
15
17
|
@soffice_command = soffice_command
|
16
18
|
determine_soffice_command
|
19
|
+
check_source_type
|
17
20
|
|
18
21
|
unless @soffice_command && File.exists?(@soffice_command)
|
19
22
|
raise IOError, "Can't find Libreoffice or Openoffice executable."
|
20
23
|
end
|
21
|
-
|
22
|
-
unless File.exists?(source)
|
23
|
-
raise IOError, "Source file (#{source}) does not exist."
|
24
|
-
end
|
25
24
|
end
|
26
25
|
|
27
26
|
def convert
|
@@ -49,5 +48,17 @@ module Libreconv
|
|
49
48
|
|
50
49
|
return nil
|
51
50
|
end
|
51
|
+
|
52
|
+
def check_source_type
|
53
|
+
if File.exists?(@source) && File.directory?(@source) == false
|
54
|
+
:file
|
55
|
+
elsif URI(@source).scheme == "http" && Net::HTTP.get_response(URI(@source)).is_a?(Net::HTTPSuccess)
|
56
|
+
:http
|
57
|
+
elsif URI(@source).scheme == "https" && Net::HTTP.get_response(URI(@source)).is_a?(Net::HTTPSuccess)
|
58
|
+
:https
|
59
|
+
else
|
60
|
+
raise IOError, "Source (#{@source}) is neither file nor http."
|
61
|
+
end
|
62
|
+
end
|
52
63
|
end
|
53
64
|
end
|
data/spec/libreconv_spec.rb
CHANGED
@@ -23,7 +23,7 @@ describe Libreconv do
|
|
23
23
|
lambda { Libreconv::Converter.new(@doc_file, "/target", "/Whatever/soffice") }.should raise_error(IOError)
|
24
24
|
end
|
25
25
|
|
26
|
-
it "should raise error if source
|
26
|
+
it "should raise error if source does not exists" do
|
27
27
|
lambda { Libreconv::Converter.new(file_path("nonsense.txt"), "/target") }.should raise_error(IOError)
|
28
28
|
end
|
29
29
|
end
|
@@ -57,6 +57,14 @@ describe Libreconv do
|
|
57
57
|
File.exists?(target_file).should == true
|
58
58
|
end
|
59
59
|
|
60
|
+
it "should convert a docx to pdf specifying an URL as source" do
|
61
|
+
url = "https://www.filepicker.io/api/file/XqCEPkH9RdOQr0S6zF5N"
|
62
|
+
target_file = "#{@target_path}/XqCEPkH9RdOQr0S6zF5N.pdf"
|
63
|
+
converter = Libreconv::Converter.new(url, @target_path)
|
64
|
+
converter.convert
|
65
|
+
File.exists?(target_file).should == true
|
66
|
+
end
|
67
|
+
|
60
68
|
it "try converting binary file" do
|
61
69
|
source = @bin_file
|
62
70
|
target_file = "#{@target_path}/#{File.basename(source, ".bin")}.pdf"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: libreconv
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
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: 2013-03-
|
11
|
+
date: 2013-03-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|