mini_mediainfo 0.0.3 → 0.0.5

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: a054b612eafc16e913f69a508a5e15f932d95bf2
4
- data.tar.gz: 0563fe550fd0cab1ed60b9519ae3e3e5b3fd9404
3
+ metadata.gz: 70b3e1087ebb8b7c717f342f649e65a19f4911bb
4
+ data.tar.gz: beda93f5ed1ce60d30a0335ef38506aae37506ab
5
5
  SHA512:
6
- metadata.gz: 5815e600fd2529b2323ea8efd0fb044a3db467fefd0c3289624cb91cefc88a9ae58581bfcefd167c527eb85e42154a0a7337d8340df9e67c24b97f75ac038ae5
7
- data.tar.gz: be380964d8910e1fbf81050e80f4bdf25799bfdc39fe032ac99691675a117b90df3f45d893ac8962df2576e975d789fdd0eda0db11ca2884bcb5cd3f6b1fc509
6
+ metadata.gz: 7cebf85614944c555c0b8e31e8da46ed4d922a10864dddd4d8fe1ccfcf044766d300b97f7dde428bffd1e95f3aa38703e22d7ed9c1d4ab7d2fd3509dde75db2f
7
+ data.tar.gz: 4466de66e18cf61234d622162bc48290c633bb1f1d47891eb0e7d1350739deb97171196cf397c4c966e6efad90619c53ef67d270094c22e7593448a8d46945f2
data/.gitignore CHANGED
@@ -16,4 +16,5 @@ test/tmp
16
16
  test/version_tmp
17
17
  tmp
18
18
  .DS_Store
19
- .rspec
19
+ .rspec
20
+ .byebug_history
data/Rakefile CHANGED
@@ -1,6 +1,15 @@
1
1
  require "bundler/gem_tasks"
2
2
  require 'rspec/core/rake_task'
3
+ require_relative 'lib/mini_mediainfo/media'
3
4
 
4
5
  RSpec::Core::RakeTask.new('spec')
5
6
 
6
7
  task :default => :spec
8
+
9
+ desc "Introspects a video, example: bundle exec rake introspect['http://some-site.com/video.mp4']"
10
+ task :introspect, [:url] do |t, args|
11
+ url = args[:url]
12
+ m = MiniMediainfo::Media.new(url)
13
+ m.introspect
14
+ puts m.meta
15
+ end
@@ -1,5 +1,4 @@
1
1
  require 'open3'
2
- require "net/http"
3
2
  require "uri"
4
3
 
5
4
  module MiniMediainfo
@@ -10,18 +9,6 @@ module MiniMediainfo
10
9
  attr_reader :uri
11
10
 
12
11
  def initialize(uri, options={})
13
- unless File.exists?(uri)
14
- if uri =~ URI::regexp(["ftp", "http", "https"])
15
- url = URI.parse(uri)
16
- req = Net::HTTP.new(url.host, url.port)
17
- res = req.request_head(url.path)
18
- if res.code >= "400"
19
- raise "Error: #{uri} is not accessible, status: #{res.code}"
20
- end
21
- else
22
- raise "Error: the file '#{uri}' does not exist"
23
- end
24
- end
25
12
  @uri = uri
26
13
  @introspection_data = {}
27
14
  end
@@ -1,3 +1,3 @@
1
1
  module MiniMediainfo
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.5"
3
3
  end
@@ -5,7 +5,7 @@ require 'open3'
5
5
  module MiniMediainfo
6
6
 
7
7
  def self.platform_supported?
8
- /(darwin|linux|unix)/ =~ RUBY_PLATFORM
8
+ %w{darwin linux unix}.any?{|os_string| RUBY_PLATFORM.include?(os_string) }
9
9
  end
10
10
 
11
11
  def self.mediainfo_version
@@ -19,7 +19,8 @@ Gem::Specification.new do |spec|
19
19
 
20
20
  spec.add_development_dependency "bundler", "~> 1.3"
21
21
  spec.add_development_dependency "rake"
22
- spec.add_development_dependency "rspec"
22
+ spec.add_development_dependency "rspec", "3.5.0"
23
23
  spec.add_development_dependency "thin"
24
24
  spec.add_development_dependency "sinatra"
25
+ spec.add_development_dependency "byebug"
25
26
  end
data/spec/media_spec.rb CHANGED
@@ -4,14 +4,13 @@ require 'rspec'
4
4
  require "mini_mediainfo/media"
5
5
  require "net/http"
6
6
 
7
-
8
7
  describe MiniMediainfo::Media do
9
8
 
10
9
  context "when introspecting files" do
11
10
 
12
11
  it "should introspect audio file" do
13
12
  media = MiniMediainfo::Media.new("spec/support/small.mp4")
14
- media.should_not be_nil
13
+ expect(media).to_not be_nil
15
14
  media.introspect
16
15
  should_have_proper_data(media.meta)
17
16
  end
@@ -31,32 +30,33 @@ describe MiniMediainfo::Media do
31
30
 
32
31
  it "should introspect video url" do
33
32
  res = Net::HTTP.start('localhost', 4567) { |http| http.get('/small.mp4') }
34
- res.code.should == '200'
33
+ expect(res.code).to eq('200')
35
34
 
36
35
  media = MiniMediainfo::Media.new("http://localhost:4567/small.mp4")
37
- media.should_not be_nil
36
+ expect(media).to_not be_nil
38
37
  media.introspect
39
38
  should_have_proper_data(media.meta)
40
39
  end
41
40
  end
42
41
 
43
42
  def should_have_proper_data(meta_data)
44
- meta_data.is_a?(Hash).should be_true
43
+ expect(meta_data).to be_a(Hash)
45
44
 
46
45
  ['General', 'Audio', 'Video'].each do |k|
47
- meta_data.has_key?(k).should be_true
48
- meta_data[k].size.should > 0
46
+ expect(meta_data).to have_key(k)
47
+ expect(meta_data[k]).to_not be_empty
49
48
  end
50
49
  # test format for a couple of key properties
51
50
  number_format = /^[\d]+(\.[\d]+){0,1}$/
52
- meta_data['General']['Duration'].should match(number_format) #ms
53
- meta_data['Video']['Codec ID'].should_not be_nil # avc1
54
- meta_data['Video']['Frame rate'].should match(number_format) # (fps)
55
- meta_data['Video']['Width'].should match(number_format) # 1280
56
- meta_data['Video']['Height'].should match(number_format) # 1280
57
- meta_data['Video']['Format profile'].should_not be_nil # Main@L3.2
58
- meta_data['Video']['Bit rate'].should match(number_format) # 1280
59
- meta_data['Audio']['Bit rate'].should match(number_format) # 1280
60
- meta_data['Audio']['Codec'].should_not be_nil # AAC
51
+
52
+ expect(meta_data['General']['Duration']).to match(number_format) #ms
53
+ expect(meta_data['Video']['Codec ID']).to_not be_nil # avc1
54
+ expect(meta_data['Video']['Frame rate']).to match(number_format) # (fps)
55
+ expect(meta_data['Video']['Width']).to match(number_format) # 1280
56
+ expect(meta_data['Video']['Height']).to match(number_format) # 1280
57
+ expect(meta_data['Video']['Format profile']).to_not be_nil # Main@L3.2
58
+ expect(meta_data['Video']['Bit rate']).to match(number_format) # 1280
59
+ expect(meta_data['Audio']['Bit rate']).to match(number_format) # 1280
60
+ expect(meta_data['Audio']['Codec']).to_not be_nil # AAC
61
61
  end
62
- end
62
+ end
@@ -3,18 +3,17 @@ require 'spec_helper'
3
3
  describe MiniMediainfo do
4
4
 
5
5
  it "should determine if the platform is supported" do
6
- subject.respond_to?(:platform_supported?).should be_true
7
- subject.platform_supported?.should be_true
6
+ expect(subject.platform_supported?).to eq(true)
8
7
  end
9
8
 
10
9
  it "should get mediainfo version" do
11
10
  version = subject.mediainfo_version
12
- version.should_not be_nil
13
- version.should match(/MediaInfoLib - v/)
11
+ expect(version).to_not be_nil
12
+ expect(version).to match(/MediaInfoLib - v/)
14
13
  end
15
14
 
16
15
  it "should tell which mediainfo binary" do
17
- subject.mediainfo_binary.should match /\/mediainfo/
16
+ expect(subject.mediainfo_binary).to match /\/mediainfo/
18
17
  end
19
18
 
20
- end
19
+ end
metadata CHANGED
@@ -1,83 +1,97 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mini_mediainfo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Karl Forsman
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-09-20 00:00:00.000000000 Z
11
+ date: 2017-01-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.3'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.3'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - '='
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: 3.5.0
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - '='
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: 3.5.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: thin
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: sinatra
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: byebug
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
74
88
  - !ruby/object:Gem::Version
75
89
  version: '0'
76
90
  type: :development
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
- - - '>='
94
+ - - ">="
81
95
  - !ruby/object:Gem::Version
82
96
  version: '0'
83
97
  description: A Ruby wrapper for mediainfo CLI.
@@ -87,7 +101,7 @@ executables: []
87
101
  extensions: []
88
102
  extra_rdoc_files: []
89
103
  files:
90
- - .gitignore
104
+ - ".gitignore"
91
105
  - Gemfile
92
106
  - LICENSE.txt
93
107
  - README.md
@@ -117,17 +131,17 @@ require_paths:
117
131
  - lib
118
132
  required_ruby_version: !ruby/object:Gem::Requirement
119
133
  requirements:
120
- - - '>='
134
+ - - ">="
121
135
  - !ruby/object:Gem::Version
122
136
  version: '0'
123
137
  required_rubygems_version: !ruby/object:Gem::Requirement
124
138
  requirements:
125
- - - '>='
139
+ - - ">="
126
140
  - !ruby/object:Gem::Version
127
141
  version: '0'
128
142
  requirements: []
129
143
  rubyforge_project:
130
- rubygems_version: 2.0.3
144
+ rubygems_version: 2.5.1
131
145
  signing_key:
132
146
  specification_version: 4
133
147
  summary: A minimalistic gem for wrapping mediainfo commands and parsing it's output.