ebook_renamer 0.0.2 → 0.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: 0073243419f6aa7db6891e2b72250c69b5d0e3a1
4
- data.tar.gz: 596bdb43d250f6eb5e71cad01fcc02fcabdcfac9
3
+ metadata.gz: 0c2b2bf7c2b9d1e2920c4634db1c348ec8db3fda
4
+ data.tar.gz: df92456b316428948cd8d27eb9a9765da785243a
5
5
  SHA512:
6
- metadata.gz: 1bdef075f46875f900348fbfc4e1740230fe702647dc7ff08660c6da30958b1311e29b3226e444dc3d239e25131f0202611ba2f9b392f58cf34aac6d4d1b545f
7
- data.tar.gz: f5330df3267139a9c0f0f0041c0e6a9d6fd69f0e94e550adbbeaaaa8ce556fa136dc6265c25904b3005cf529c49e9474f2d10edbe3bc5948ae60c1a60e8bac19
6
+ metadata.gz: 39c8b4cbf1b95036c45c693a3bf37fb371ad3222dc40a715ba81e84e8cdec072e2ad7b7f39910309b1bb21df2b0c9a91a5567dc38875bf5a50619fc5ec4f12b1
7
+ data.tar.gz: b67d518a78608658c0f6defe6fe2eb58351746da8927f4efb873d2e230d936493d48803f2273d3b968c4d08dfdba0e54347c9402099025dbeccd3eee7576017a
data/README.md CHANGED
@@ -1,14 +1,36 @@
1
- ## EbookRenamer
1
+ ## Ebook_Renamer
2
2
 
3
3
  Simple utility to perform bulk rename of the ebooks(epub,mobi,pdf) based on
4
4
  the metadata within the ebook itself (if available).
5
5
 
6
- ### Installation
6
+ ### Why do I wrote this gem
7
+
8
+ Almost alwasy when I purchase a new ebooks (or download them from the internet) they always came with the
9
+ bad name. I really like the meaningful name to the file that I have. This make it easy to search for them
10
+ and give you the context to the content of the file.
11
+
12
+ I wrote this gem just to make it possible to rename in bulk and recursively.
13
+
14
+ This gem will rename any ebook files (currently only pdf, epub, mobi) using the available
15
+ meta-data that embedded within the ebook.
16
+
17
+ So if you don't like to spend time renaming them manually then this gem is for you.
18
+
19
+ ### What you will need
7
20
 
8
21
  * You will need to install the [Calibre](http://www.calibre-ebook.com/) and
9
- [Calibre CLI](http://manual.calibre-ebook.com/cli/cli-index.html)
22
+ [Calibre CLI](http://manual.calibre-ebook.com/cli/cli-index.html) on your OS.
10
23
 
11
- * Then install the gem
24
+ * This gem should work on OSX/Linux like system. It may work with Windows system but I can't confirm
25
+ as I don't use windows for quite sometime now.
26
+
27
+ ### Problems/Issues
28
+
29
+ - Error may be raised if the combined meta-data is too long.
30
+ e.g. if your files is stored in NTFS drive then you may get the error indicate the file is too long
31
+ or something similar. I will try to handle this error in the next few release.
32
+
33
+ ### Installation and Usage:
12
34
 
13
35
  ```sh
14
36
  bundle
@@ -37,7 +59,7 @@ ebook_rename --recursive
37
59
  ebook_renamer --recusive --commit
38
60
  ```
39
61
 
40
- ### Output of `ebook_renamer --help`
62
+ ### Sample Usage (from `ebook_renamer --help`)
41
63
 
42
64
  ```
43
65
  Usage: ebook_renamer [options]
@@ -57,15 +79,35 @@ ebook_renamer --recusive --commit
57
79
  5) $ebook_renamer --base-dir ~/Dropbox/ebooks
58
80
  --recursive
59
81
  --commit
82
+
83
+ 6) $ebook_renamer --base-dir ~/Dropbox/ebooks
84
+ --meta-binary /usr/bin/ebook-meta
85
+ --recursive
86
+ --commit
87
+
60
88
  Options:
61
89
 
62
90
  -b, --base-dir directory Starting directory [default - current directory]
91
+ -m, --meta-binary path Path to the ebook-meta executable [default - '/usr/bin/ebook-meta']
63
92
  -r, --recursive Process the files recursively [default - false]
64
93
  -c, --commit Perform the actual rename [default - false]
65
94
  -v, --version Display version number
66
95
  -h, --help Display this screen
67
96
  ```
68
97
 
98
+ ### Changelog
99
+
100
+ #### 0.0.3
101
+
102
+ - make it possible to change the path to the binary
103
+
104
+ #### 0.0.2
105
+
106
+ - fix the silly refactoring bug
107
+
108
+ #### 0.0.1
109
+ - Initial release
110
+
69
111
  ### Contributing
70
112
 
71
113
  1. Fork it
data/bin/ebook_renamer CHANGED
@@ -14,9 +14,12 @@ require 'ostruct'
14
14
  begin
15
15
  options = parse_options()
16
16
  EbookRenamer.logger.info "Your options: #{options}"
17
+ meta_binary = options.delete(:meta_binary)
18
+ #
17
19
  # Note: if we need to adjust the path to the executable
18
20
  EbookRenamer.configure do |config|
19
- config.meta_binary = '/usr/bin/ebook-meta'
21
+ #config.meta_binary = '/usr/bin/ebook-meta'
22
+ config.meta_binary = meta_binary unless meta_binary.nil?
20
23
  end
21
24
 
22
25
  cli = EbookRenamer::CLI.new(EbookRenamer.configuration)
@@ -4,6 +4,9 @@ require 'shellwords'
4
4
 
5
5
  module EbookRenamer
6
6
  class Helpers
7
+
8
+ EbookMetaNotInstall = Class.new(StandardError)
9
+
7
10
  class << self
8
11
 
9
12
  # Extract meta data from the input file using the ebook-meta tool
@@ -12,8 +15,12 @@ module EbookRenamer
12
15
  # @param [String] binary the executable for use to extract the metadata
13
16
  # @return [String] result of the output from running the command
14
17
  def meta(filename, binary = 'ebook-meta')
18
+ binary_path = which(binary)
19
+
20
+ raise EbookMetaNotInstall, "Need to install ebook-meta to use this gem" if binary_path.nil?
21
+
15
22
  command = [
16
- binary,
23
+ binary_path,
17
24
  Shellwords.escape(filename)
18
25
  ]
19
26
 
@@ -26,6 +26,11 @@ module EbookRenamer::Options
26
26
  | --recursive
27
27
  | --commit
28
28
  |
29
+ | 6) $ebook_renamer --base-dir ~/Dropbox/ebooks
30
+ | --meta-binary /usr/bin/ebook-meta
31
+ | --recursive
32
+ | --commit
33
+ |
29
34
  | Options:
30
35
  |
31
36
  END
@@ -35,6 +40,11 @@ module EbookRenamer::Options
35
40
  options[:base_dir] = base_dir
36
41
  end
37
42
 
43
+ options[:meta_binary] ||= '/usr/bin/ebook-meta'
44
+ opts.on('-m', '--meta-binary path', "Path to the ebook-meta executable [default - '/usr/bin/ebook-meta']") do |binary|
45
+ options[:meta_binary] = binary
46
+ end
47
+
38
48
  options[:recursive] = false
39
49
  opts.on('-r', '--recursive', 'Process the files recursively [default - false]') do
40
50
  options[:recursive] = true
@@ -1,3 +1,3 @@
1
1
  module EbookRenamer
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ebook_renamer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Burin Choomnuan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-04 00:00:00.000000000 Z
11
+ date: 2014-04-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler