wgif 0.3.1 → 0.4.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b62506044c22dad227aa25dd81278fd2d820154f
4
- data.tar.gz: 871fe05a165dc850d28cdb4dfcbd009e426cff69
3
+ metadata.gz: 3ed2ac4b217c2e89a5cb10457bfe034cf33bd2e2
4
+ data.tar.gz: 5be6c8d1d554a480c5b8e9608b92ed4c2b045b9c
5
5
  SHA512:
6
- metadata.gz: 6334f268f26b029b22a76ecef6df8235afb2a4ff5c01fa45c0d823f56d46a0ce2cde3ab7a2d80379dbb7fd728eee03436ef4f495a664ecfafa6a448012078bad
7
- data.tar.gz: cf8f8ec76f7d5628847edbf3216e82732c1889ab9b8996d8b07c4eea8f4460d26e65591384dd535c3c854ebc303e23832cba9efd14491238e153d6b9e9407eb3
6
+ metadata.gz: 11830559415baf6c9055d632eac62ac170d238f2c875c526360479c762af7cb41b42b051574fdaaf9c94c8987eddb5a4ee5a637ed8b01ba812879a23a4ae9321
7
+ data.tar.gz: c274785b222bbaafd5da24ddfb7160ddc25a004a71b442de1ca3b0304ed399f6e1a658ede4ee5d1cb421879d94abb19a68e4cc953342846993c1e0877aea7746
data/.gitignore CHANGED
@@ -2,6 +2,7 @@
2
2
  *.rbc
3
3
  .bundle
4
4
  .config
5
+ .DS_Store
5
6
  .yardoc
6
7
  Gemfile.lock
7
8
  InstalledFiles
data/README.md CHANGED
@@ -14,11 +14,12 @@ Usage: wgif [YouTube URL] [output file] [options]
14
14
  -w, --width pixels Width of the gif in pixels. (Default 480px)
15
15
  -u, --upload Upload finished gif to Imgur
16
16
  -p, --preview Preview finished gif with Quick Look
17
+ -i, --info Displays info about finished gif (currently just file size)
17
18
  -h, --help Print help information.
18
19
 
19
20
  Example:
20
21
 
21
- $ wgif https://www.youtube.com/watch?v=1A78yTvIY1k bjork.gif -s 00:03:30 -d 2 -w 400 --upload
22
+ $ wgif https://www.youtube.com/watch?v=1A78yTvIY1k bjork.gif -s 00:03:30 -d 2 -w 400 -i --upload
22
23
  ```
23
24
 
24
25
  ## Installation (Mac OS X)
@@ -113,11 +114,13 @@ And here it is:
113
114
  ### "You shouldn't let poets lie to you."
114
115
 
115
116
  ## Changes
117
+ - v0.3.1, 2014/5/10: Fixes frame order for gifs with more than 100 frames. ([Issue #14](https://github.com/ecmendenhall/wgif/issues/14))
116
118
  - v0.3.0, 2014/4/20: Add Quick Look preview with `--preview` flag.
117
119
  - v0.2.0, 2014/4/11: Add automatic upload to Imgur with `--upload` flag.
118
120
 
119
121
  ## Contributors
120
122
  Thanks to [arlandism](https://github.com/arlandism) and [ellie007](https://github.com/ellie007) for pairing on Imgur uploads.
123
+ Thanks to [justalisteningman](https://github.com/justalisteningman) for adding file size info.
121
124
 
122
125
  ## Contributions
123
126
  Are welcome via pull request.
data/Rakefile CHANGED
@@ -2,8 +2,8 @@ require 'bundler/gem_tasks'
2
2
  require 'rspec/core/rake_task'
3
3
 
4
4
  RSpec::Core::RakeTask.new(:spec, :tag) do |t, task_args|
5
- unless task_args[:tag] == 'integration'
6
- t.rspec_opts = "--tag ~integration"
5
+ unless task_args[:tag] == 'regression'
6
+ t.rspec_opts = "--tag ~regression"
7
7
  end
8
8
  end
9
9
 
@@ -4,6 +4,7 @@ require 'wgif/downloader'
4
4
  require 'wgif/exceptions'
5
5
  require 'wgif/gif_maker'
6
6
  require 'wgif/installer'
7
+ require 'wgif/info_displayer'
7
8
  require 'wgif/uploader'
8
9
  require 'wgif/version'
9
10
  require 'wgif/video'
@@ -40,6 +40,11 @@ module WGif
40
40
  'Upload finished gif to Imgur') {
41
41
  |u| @options[:upload] = u
42
42
  }
43
+ opts.on('-i',
44
+ '--info',
45
+ 'Displays info about finished gif (currently just file size)') {
46
+ |i| @options[:info] = i
47
+ }
43
48
  opts.on('-p',
44
49
  '--preview',
45
50
  'Preview finished gif with Quick Look') {
@@ -18,6 +18,7 @@ module WGif
18
18
  args = @argument_parser.parse(cli_args)
19
19
  frames = convert_video(args)
20
20
  GifMaker.new.make_gif(frames, args[:output], args[:dimensions])
21
+ display_info(args) if args[:info]
21
22
  upload(args) if args[:upload]
22
23
  preview(args) if args[:preview]
23
24
  end
@@ -25,6 +26,10 @@ module WGif
25
26
 
26
27
  private
27
28
 
29
+ def display_info(args)
30
+ InfoDisplayer.new.display(args[:output])
31
+ end
32
+
28
33
  def preview(args)
29
34
  Kernel.system "qlmanage -p #{args[:output]} &>/dev/null"
30
35
  end
@@ -42,6 +47,7 @@ module WGif
42
47
 
43
48
  def load_dependencies
44
49
  require 'wgif/downloader'
50
+ require 'wgif/info_displayer'
45
51
  require 'wgif/gif_maker'
46
52
  require 'wgif/uploader'
47
53
  end
@@ -0,0 +1,28 @@
1
+ module WGif
2
+ class InfoDisplayer
3
+
4
+ GIGA_SIZE = 1073741824.0
5
+ MEGA_SIZE = 1048576.0
6
+ KILO_SIZE = 1024.0
7
+
8
+ def display(file_name)
9
+ file_size = readable_file_size(File.size("#{file_name}").to_f)
10
+ puts "#{file_name} is #{file_size}"
11
+ end
12
+
13
+ def readable_file_size(size)
14
+
15
+ if size < KILO_SIZE
16
+ abb, div = "Bytes", 1
17
+ elsif size < MEGA_SIZE
18
+ abb, div = "KB", KILO_SIZE
19
+ elsif size < GIGA_SIZE
20
+ abb, div = "MB", MEGA_SIZE
21
+ else
22
+ abb, div = "GB", GIGA_SIZE
23
+ end
24
+
25
+ "%.3f #{abb}" % (size / div)
26
+ end
27
+ end
28
+ end
@@ -1,3 +1,3 @@
1
1
  module WGif
2
- VERSION = '0.3.1'
2
+ VERSION = '0.4.0'
3
3
  end
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
  require 'wgif/cli'
3
3
 
4
- describe 'empty image list bug', integration: true do
4
+ describe 'empty image list bug', regression: true do
5
5
  it 'throws an empty image list error' do
6
6
  args = ['https://www.youtube.com/watch?v=deFDlB8RiNg',
7
7
  'fish_grease.gif',
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
  require 'wgif/cli'
3
3
 
4
- describe 'frame order bug', integration: true do
4
+ describe 'frame order bug', regression: true do
5
5
  it 'does not create frames out of order' do
6
6
  args = ['https://www.youtube.com/watch?v=piWCBOsJr-w',
7
7
  'banana-shoot.gif',
@@ -79,6 +79,16 @@ describe WGif::ArgumentParser do
79
79
  expect(options[:preview]).to eq(true)
80
80
  end
81
81
 
82
+ it 'parses the short output option' do
83
+ options = parser.parse_options ['-i']
84
+ expect(options[:info]).to eq(true)
85
+ end
86
+
87
+ it 'parses the long output option' do
88
+ options = parser.parse_options ['--info']
89
+ expect(options[:info]).to eq(true)
90
+ end
91
+
82
92
  it 'handles args in wacky order' do
83
93
  args = parser.parse_args([
84
94
  '-d',
@@ -150,4 +160,4 @@ describe WGif::ArgumentParser do
150
160
  trim_from: '00:00:00',
151
161
  url: 'http://lol.wut'})
152
162
  end
153
- end
163
+ end
@@ -0,0 +1,24 @@
1
+ require 'spec_helper'
2
+ require 'wgif/info_displayer'
3
+
4
+ describe WGif::InfoDisplayer do
5
+
6
+ let(:cache) { described_class.new }
7
+
8
+ before do
9
+ @mock_stdout = StringIO.new
10
+ @real_stdout, $stdout = $stdout, @mock_stdout
11
+ end
12
+
13
+ after do
14
+ $stdout = @real_stdout
15
+ end
16
+
17
+ it 'prints out a file size to the command line' do
18
+ file_name = "fake_file_name.rb"
19
+ File.stub(:size).with(file_name).and_return("1048576")
20
+ cache.display(file_name)
21
+ expect(@mock_stdout.string).to match(/1.000 MB/)
22
+ end
23
+
24
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wgif
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Connor Mendenhall
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-10 00:00:00.000000000 Z
11
+ date: 2014-05-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rmagick
@@ -188,6 +188,7 @@ files:
188
188
  - lib/wgif/downloader.rb
189
189
  - lib/wgif/exceptions.rb
190
190
  - lib/wgif/gif_maker.rb
191
+ - lib/wgif/info_displayer.rb
191
192
  - lib/wgif/installer.rb
192
193
  - lib/wgif/uploader.rb
193
194
  - lib/wgif/version.rb
@@ -201,6 +202,7 @@ files:
201
202
  - spec/unit/wgif/download_bar_spec.rb
202
203
  - spec/unit/wgif/downloader_spec.rb
203
204
  - spec/unit/wgif/gif_maker_spec.rb
205
+ - spec/unit/wgif/info_displayer_spec.rb
204
206
  - spec/unit/wgif/installer_spec.rb
205
207
  - spec/unit/wgif/uploader_spec.rb
206
208
  - spec/unit/wgif/video_cache_spec.rb
@@ -240,6 +242,7 @@ test_files:
240
242
  - spec/unit/wgif/download_bar_spec.rb
241
243
  - spec/unit/wgif/downloader_spec.rb
242
244
  - spec/unit/wgif/gif_maker_spec.rb
245
+ - spec/unit/wgif/info_displayer_spec.rb
243
246
  - spec/unit/wgif/installer_spec.rb
244
247
  - spec/unit/wgif/uploader_spec.rb
245
248
  - spec/unit/wgif/video_cache_spec.rb