ebook_renamer 0.0.2 → 0.0.3

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: 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