fancy_audio 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 +4 -4
- data/README.md +13 -0
- data/bin/fancy_audio +29 -13
- data/fancy_audio.gemspec +2 -0
- data/lib/fancy_audio.rb +15 -0
- data/lib/fancy_audio/version.rb +1 -1
- data/spec/fancy_audio_spec.rb +14 -0
- data/spec/spec_helper.rb +6 -0
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 09f615a99f7bd8d0966a686bbaadd5e9071d14c7
|
4
|
+
data.tar.gz: 2af9c05d7737fa95d0ca4f81387efdd2e07688a1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e03faa88c3fd54bd564ad9fd4f69b34feaeca10c5865349f4a9b09620af9eaafeb0a2ef41457146935a4fb09f695f18946bfe0c499e2b06b2e6bf3d271e3b79e
|
7
|
+
data.tar.gz: 7afe3ba2a717a514534b82011204a2954df5a99ac87a5f0c570e5b29e75cca4e9ca13a64388b147ff276d8ee643188f8fc08ac83456a5b8ad55cdf4f6e9e1bb9
|
data/README.md
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
# fancy_audio
|
2
|
+
A gem to add album cover to audio file
|
3
|
+
|
4
|
+
##Documentation
|
5
|
+
http://www.singhajit.com/fancyaudio-gem-to-add-album-cover-to-audio-file/
|
6
|
+
|
7
|
+
## Contributing
|
8
|
+
|
9
|
+
1. Fork it ( http://github.com/ajitsing/fancy_audio )
|
10
|
+
2. Create your feature branch
|
11
|
+
3. Commit your changes
|
12
|
+
4. Push to the branch
|
13
|
+
5. Create new Pull Request
|
data/bin/fancy_audio
CHANGED
@@ -4,32 +4,48 @@ require 'fancy_audio'
|
|
4
4
|
include FancyAudio::Operations
|
5
5
|
include FancyAudio::PrettyPrinter
|
6
6
|
|
7
|
-
first = ARGV[0]
|
8
|
-
second = ARGV[1]
|
9
|
-
|
10
7
|
def print_help
|
11
8
|
help = <<-info
|
12
9
|
fancy_audio audio_file image_file #=> attach image_file to audio_file
|
13
10
|
fancy_audio #=> attach all audio and images with same name(default current dir) e.g song1.mp3 and song1.jpg
|
14
11
|
fancy_audio path/to/files #=> attach all audio and images with same name(cutom path to dir) e.g song1.mp3 and song1.jpg
|
15
12
|
fancy_audio --h #=> to print help
|
13
|
+
|
14
|
+
To see a demo visit - http://www.singhajit.com/fancyaudio-gem-to-add-album-cover-to-audio-file/
|
16
15
|
info
|
17
16
|
|
18
17
|
print_info help
|
19
18
|
end
|
20
19
|
|
21
|
-
|
22
|
-
|
20
|
+
def execute
|
21
|
+
first = ARGV[0]
|
22
|
+
second = ARGV[1]
|
23
23
|
|
24
|
-
|
25
|
-
|
24
|
+
if first == '--h' && ARGV.size == 1
|
25
|
+
print_help
|
26
26
|
|
27
|
-
elsif ARGV.size
|
28
|
-
|
27
|
+
elsif !first.nil? && !second.nil? && ARGV.size == 2
|
28
|
+
add_image first, second
|
29
29
|
|
30
|
-
elsif ARGV.size
|
31
|
-
|
30
|
+
elsif ARGV.size.zero?
|
31
|
+
add_image_smartly
|
32
32
|
|
33
|
-
|
34
|
-
|
33
|
+
elsif ARGV.size == 1
|
34
|
+
add_image_smartly first
|
35
|
+
|
36
|
+
else
|
37
|
+
print_error "Wrong Usages! To know the right usages type 'fancy_audio --h'"
|
38
|
+
end
|
35
39
|
end
|
40
|
+
|
41
|
+
begin
|
42
|
+
execute
|
43
|
+
rescue
|
44
|
+
error_msg = <<-error
|
45
|
+
Something went wrong! Or usages is incorrect
|
46
|
+
To understand the corrent usages visit - http://www.singhajit.com/fancyaudio-gem-to-add-album-cover-to-audio-file/
|
47
|
+
error
|
48
|
+
|
49
|
+
print_error error_msg
|
50
|
+
end
|
51
|
+
|
data/fancy_audio.gemspec
CHANGED
@@ -11,6 +11,8 @@ Gem::Specification.new do |s|
|
|
11
11
|
s.description = s.summary
|
12
12
|
s.authors = ['Ajit Singh']
|
13
13
|
s.email = 'jeetsingh.ajit@gamil.com'
|
14
|
+
s.license = 'MIT'
|
15
|
+
s.homepage = 'http://www.singhajit.com/fancyaudio-gem-to-add-album-cover-to-audio-file/'
|
14
16
|
|
15
17
|
s.files = `git ls-files -z`.split("\x0")
|
16
18
|
s.executables = s.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
data/lib/fancy_audio.rb
CHANGED
@@ -8,6 +8,8 @@ module FancyAudio
|
|
8
8
|
IMAGE_NOT_FOUND = 'File Not Found'
|
9
9
|
|
10
10
|
def add_image(audio_file, image)
|
11
|
+
return unless files_present(audio_file, image)
|
12
|
+
|
11
13
|
image_file = File.new(image, 'rb')
|
12
14
|
Mp3Info.open(audio_file) do |audio|
|
13
15
|
audio.tag2.remove_pictures
|
@@ -39,6 +41,19 @@ module FancyAudio
|
|
39
41
|
end
|
40
42
|
|
41
43
|
private
|
44
|
+
def files_present(audio_file, image_file)
|
45
|
+
audio_file_exists = File.exist?(audio_file)
|
46
|
+
image_file_exists = File.exist?(image_file)
|
47
|
+
|
48
|
+
if !audio_file_exists
|
49
|
+
print_error "#{audio_file} does not exists!\n"
|
50
|
+
elsif !image_file_exists
|
51
|
+
print_error "#{image_file} does not exists!\n"
|
52
|
+
end
|
53
|
+
|
54
|
+
audio_file_exists && image_file_exists
|
55
|
+
end
|
56
|
+
|
42
57
|
def print_modified_files(files)
|
43
58
|
return if files.empty?
|
44
59
|
print_info("Modified Audio Files\n")
|
data/lib/fancy_audio/version.rb
CHANGED
data/spec/fancy_audio_spec.rb
CHANGED
@@ -15,6 +15,20 @@ describe :FancyAudio do
|
|
15
15
|
assert_audio_has_image audio_file
|
16
16
|
end
|
17
17
|
|
18
|
+
it 'should handle gracefully when file is not present' do
|
19
|
+
current_dir = File.expand_path File.dirname __FILE__
|
20
|
+
unavailable_audio_file = current_dir + '/resources/unavailable_song.mp3'
|
21
|
+
unavailable_image_file = current_dir + '/resources/unavailable_image.jpg'
|
22
|
+
|
23
|
+
image_file = current_dir + '/resources/song1.jpg'
|
24
|
+
audio_file = current_dir + '/resources/song1.mp3'
|
25
|
+
|
26
|
+
add_image unavailable_audio_file, image_file
|
27
|
+
add_image audio_file, unavailable_image_file
|
28
|
+
|
29
|
+
assert_audio_does_not_have_image audio_file
|
30
|
+
end
|
31
|
+
|
18
32
|
it 'should add image to the song smartly' do
|
19
33
|
dir = File.expand_path File.dirname(__dir__) + '/spec/resources'
|
20
34
|
audio_file = dir + '/song1.mp3'
|
data/spec/spec_helper.rb
CHANGED
@@ -25,6 +25,12 @@ def assert_audio_has_image(audio)
|
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
28
|
+
def assert_audio_does_not_have_image(audio)
|
29
|
+
Mp3Info.open(audio) do |song|
|
30
|
+
song.tag2.pictures.empty?.should be_truthy
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
28
34
|
def remove_pictures_from_songs
|
29
35
|
current_dir = File.expand_path File.dirname __FILE__
|
30
36
|
songs = Dir[current_dir + "/resources/*.mp3"]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fancy_audio
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ajit Singh
|
@@ -77,6 +77,7 @@ files:
|
|
77
77
|
- Gemfile
|
78
78
|
- Gemfile.lock
|
79
79
|
- LICENSE.txt
|
80
|
+
- README.md
|
80
81
|
- Rakefile
|
81
82
|
- bin/fancy_audio
|
82
83
|
- fancy_audio.gemspec
|
@@ -88,8 +89,9 @@ files:
|
|
88
89
|
- spec/resources/song1.mp3
|
89
90
|
- spec/resources/song2.mp3
|
90
91
|
- spec/spec_helper.rb
|
91
|
-
homepage:
|
92
|
-
licenses:
|
92
|
+
homepage: http://www.singhajit.com/fancyaudio-gem-to-add-album-cover-to-audio-file/
|
93
|
+
licenses:
|
94
|
+
- MIT
|
93
95
|
metadata: {}
|
94
96
|
post_install_message:
|
95
97
|
rdoc_options: []
|